Я пытаюсь получить все связанные модели с другой моделью через промежуточную таблицу, но не могу понять, как.Документы Laravel говорят, что вы можете сделать что-то вроде этого:
$roles = App\User::find(1)->roles()->orderBy('name')->get();
Но когда я пытаюсь применить это к моему коду
$roles = User::where('id', $user->id)->roles()->get();
Это не работает.Я принимаю пользовательскую модель через свой контроллер, поэтому у меня есть к ней доступ.
Отношение также определяется следующим образом:
User
public function roles()
{
return $this->belongsToMany(Role::class);
}
Role
public function users()
{
return $this->belongsToMany(User::class);
}
Как мне получить все роли, связанные с конкретным пользователем?
edit / update: я знаю, что могу просто использовать цикл foreach и получить всероли, связанные с конкретным пользователем, но я пытаюсь вернуть коллекцию ресурсов, поэтому я не могу сделать это таким образом