Пишите правильно. В модели User
public function roles() {
return $this->belongsToMany('App\Role', 'role_user', 'user_id', 'role_id');
}
В контроллере
// Роли авторизованного пользователя
$roles = Auth::user()->roles()->get();
// Роли любого пользователя по id
$id = 5;
$roles = User::find($id)->roles()->get();
// Все юзеры с их ролями и количеством ролей
$users = User::with('roles')
->withCount('roles')
->get();
В шаблоне
//роли юзера
@foreach ($roles as $role)
{{ $role->name }}
@endforeach
// Роли у всех юзеров
@foreach ($users as $user)
//количество ролей у юзера
{{$user->roles_count}}
//названия ролей у каждого юзера
@foreach ($user->roles as $role)
{{ $role->name }}
@endforeach
@endforeach
Добавляем константу админа в модель Role
const ID__ADMIN = 17;
В контроллере
// Сделать юзера админом
$user->roles()->attach(Role::ID__ADMIN);
// админы
$admins = Role::find(Role::ID__ADMIN)->users()->get();