Есть три таблицы:
users (с полями
id и
login),
roles(с полями
id,
name и
slug) и третья для связи
role_user (с полями
role_id и
user_id). Как получить все значения из связанной таблицы?
В файле модели
User прописана связь:
public function roles()
{
return $this->belongsToMany(Role::class, 'role_user', 'user_id', 'role_id');
}
В файле модели
Role прописана связь:
public function users()
{
return $this->belongsToMany(User::class, 'role_user', 'role_id', 'user_id');
}
В файле
UserController пытаюсь получить значения:
$users = User::with('roles')->get();
dump($users->roles);
В итоге получаю
ошибку:
Property [roles] does not exist on this collection instance.
p.s. Получение по
id значения через
find(id) работает. Пробовал получить значения через
$user->pivot, но в результате та же ошибка, только для
pivot. Аналогичная ошибка в
RoleController. Почему я получаю эту ошибку и как получить все значения для связанной таблицы?