Русское сообщество разработки на PHP-фреймворке Laravel.
Ты не вошёл. Вход тут.
Страницы 1
задача.
есть 3 модели: user,его компания и права.
соответственно
class User {
public function roles()
{
return $this->hasOne('App\Role', 'id');
}
public function companies()
{
return $this->hasOne('App\Company', 'id');
}
}
и тд. Нужно вывести список прав с привязкой к компании (соответственно через userа)
Делаю жадную загрузку через репозитории и
$this->rol_rep->with('users')->all() выдает коллекцию ролей сразу с юзерами и все хорошо.
(в репозитории реализован свой метод with)
но мне нужно в эти коллекции получить еще и компании юзеров,чтобы не делать отдельные запросы.
есть ли возможно получить ка-кто вот это внутреннее отношение, т е связать 3 таблицы сразу?можно хотя бы на примере через модели,а не репозиторий. хочу понять,можно ли сделать так сразу
Изменено Yuliya (05.03.2018 17:37:45)
Не в сети
есть ли возможно получить ка-кто вот это внутреннее отношение, т е связать 3 таблицы сразу?можно хотя бы на примере через модели,а не репозиторий. хочу понять,можно ли сделать так сразу
в with через точку можно указать всю цепочку отношений
->with('users.company.permissions')
P.S. существует мнение, с которым я согласен, что паттерн репозиторий излишен для Eloquent (ORM ларавела) в большинстве случаев.
Изменено covobo (05.03.2018 17:40:58)
Не в сети
так просто?) спасибо Вам большое!
Не в сети
Страницы 1