Как получить информацию через таблицу? - PullRequest
0 голосов
/ 01 декабря 2018

У меня есть SQL-запрос, который делает то, что мне нужно:

SELECT users.FirstName, users.Id FROM `orders` 
INNER JOIN orderrecipients ON orderrecipients.Orders_Id = orders.Id
INNER JOIN users ON users.Id = orderrecipients.Users_Id;

Я пытаюсь использовать модель Eloquent для построения запроса выше, используя hasManyThrough:

public function OrderRecipients()
{
 return $this->hasManyThrough('App\OrderRecipient', 'App\User', 'Id', 'Orders_Id');
}

И используя:

$recipients = OrderModel::with("OrderRecipients")->where("User_Id", $userId)->get();
dd($recipients->OrderRecipients()->count());

Как построить это отношение и получить данные через таблицу?

1 Ответ

0 голосов
/ 01 декабря 2018

HasManyThrough не лучший выбор здесь.Вместо этого используйте BelongsToMany отношение:

public function OrderRecipients()
{
    return $this->belongsToMany('App\User', 'orderrecipients', 'Orders_Id', 'Users_Id');
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...