У меня есть 3 таблицы, описывающие пользователей, роли и role_user. Они выглядят так:Laravel eloquent - Многие для многих, выберите только соответствующие таблицы
users -> id, name
roles -> id, name
role_user -> user_id, role_id
В моем классе пользователя у меня есть:
public function roles()
{
return $this->belongsToMany('Role');
}
Цель здесь, конечно, чтобы позволить пользователю иметь несколько ролей.
Я могу сделать запрос, например, User::with('roles')->get()
который отлично работает.
Однако я хочу только выбрать пользователей, которые имеют определенную роль, идеально заданные по имени, но при необходимости это может быть по идентификатору. Как это сделать с помощью Eloquent?
Это полностью противоположно тому, что я пытался - очевидно, когда вы знаете, как! –
Действительно - от многих к многим, это запутывает, поскольку фактически используется функция «ownToMany», когда вы хотите сказать «hasMany» - «hasMany», однако, уже используется при выполнении отношений от 1 до многих. Таким образом, вы в конечном итоге используете «ownToMany», когда это больше похоже на «ownByMany» ... или что-то в этом роде. – fideloper