Laravel по-русски

Русское сообщество разработки на PHP-фреймворке Laravel.

Ты не вошёл. Вход тут.

#1 05.03.2018 17:35:49

отношение модели к модели в моделе)

задача.
есть 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)

Не в сети

#2 05.03.2018 17:39:04

Re: отношение модели к модели в моделе)

есть ли возможно получить ка-кто вот это внутреннее отношение, т е связать 3 таблицы сразу?можно хотя бы на примере через модели,а не репозиторий. хочу понять,можно ли сделать так сразу

в with через точку можно указать всю цепочку отношений
->with('users.company.permissions')

P.S. существует мнение, с которым я согласен, что паттерн репозиторий излишен для Eloquent (ORM ларавела) в большинстве случаев.

Изменено covobo (05.03.2018 17:40:58)

Не в сети

#3 05.03.2018 17:39:47

Re: отношение модели к модели в моделе)

так просто?) спасибо Вам большое!

Не в сети

Подвал раздела