Русское сообщество разработки на PHP-фреймворке Laravel.
Ты не вошёл. Вход тут.
Страницы 1
Всем привет. У меня есть две таблицы:
users (id int, login varchar(20))
permitions (user_id int, permition_id int)
Все свел до атомарности. В модели users у меня прописано:
protected $table = "users";
protected $fillable = ['login'];
Все. Мне нужна какая-то конструкция, которая бы еще позволяла получать набор доступов. Ну, к примеру, в контроллере я обращаюсь:
$users = Users::where('login','admin')->get();
И у $users было бы свойство типа $user->permitions; Массив это или еще что, не знаю, но, чтобы в вьюхе я имел доступ к нему и мог бы переберать foreach - ем. У пользователя может быть несколько доступов, может быть один, может не быть.
Умеет такое laravel?
Не в сети
Не в сети
Умеет такое laravel?
Умеет. Конкретно здесь связь One-To-Many, которую нужно настроить (если еще не настроена) и затем загрузить permissions с помощью eager loading:
$users = Users::where('login','admin')->with('permissions')->get();
После этого permissions можно перечислять с помощью foreach:
$user = Users::where('id', 1)->first();
И в представлении:
@foreach ($user->permissions as $permission)
{{ $permission }}
@endforeach
PS: У вас ошибка в слове permissions, лучше исправить. И еще, название моделей по соглашению должны быть в единственном числе, а название таблицы - во множественном ('User::', 'users').
Не в сети
+1 За вариант Алексея
Ваша тема, кстати, хорошо раскрыта в видео Laracasts, в цикле серий Fundamentals
Не в сети
Страницы 1