Laravel Полиморф c Много ко многим - Запрос - PullRequest
0 голосов
/ 20 марта 2020

В моем проекте у меня есть компании, пользователи и модели самолетов.

Пользователи и самолеты можно объединить в компании следующим образом:

public function companies()
    {
        return $this->morphToMany('App\Company', 'companyable');
    }

Теперь я хотел бы вернуться "Все Самолеты "из" All Companys ", к которым присоединен пользователь.

В настоящее время я делаю это через модель пользователя:

public function airplanes()
    {
        $myAirplanes = [];
        foreach ($this->companies AS $company) {
            $myAirplanes[] = $company->airplanes;
        }
        return $myAirplanes;
    }

Но я бы хотел сделать это с одним запрос. Кто-нибудь знает способ? Большое спасибо за помощь

1 Ответ

0 голосов
/ 20 марта 2020

вы должны использовать для этого рьяную нагрузку, но вам понадобятся самолеты в компании. если вы пишете это нужно только стремиться загрузить, как это в контроллере:

User::find($id)->load('companies.airplanes');
...