У меня есть 3 модели:Laravel hasManyThrough Eloquent запрос неудача
клиента, магазин, Формат
Клиент имеет много магазинов, и магазин имеет один формат.
Итак, я хотел бы получить все Форматы от Клиента.
In Store table, I have client_id, format_id
in Format table, I have no direct relationship, I have plan_id
In Plan table, I have client_id.
In Client table, I have no useful relationship
Мне нужно, чтобы получить все форматы клиента,
Поэтому мне нужно создать отношения $ client-> форматы
Так в принципе, я хочу сделать отношения hasManyThrough,
class Client extends Model {
protected $table = 'client';
protected $primaryKey = 'clientid';
public function formats()
{
return $this->hasManyThrough(Format::class,Store::class, 'clientid', 'storeid');
}
}
Но я получаю эту ошибку:
SQLSTATE[42S22]: Column not found: 1054 Unknown column 'format.storeid' in 'on clause' (SQL: select `format`.*, `store`.`clientid` from `format` inner join `store` on `store`.`storeid` = `format`.`storeid` where `store`.`clientid` = 58)
Я немного застрял в этом отношении, любая идея, как его исправить ????
Это больше походит на многом-ко-многим между Клиентом и форматом с магазином является сводной таблицей. –