【问题标题】:Laravel Polymorphic Many to Many - QueryLaravel 多态多对多 - 查询
【发布时间】:2020-07-01 13:03:35
【问题描述】:

在我的项目中,我有公司、用户和飞机模型。

用户和飞机是这样的:

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

现在,我想返回用户所属的“所有公司”中的“所有飞机”。

我目前正在通过用户模型执行此操作:

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

但我想用一个查询来做到这一点。有人知道方法吗?非常感谢您的帮助

【问题讨论】:

    标签: laravel eloquent many-to-many laravel-query-builder


    【解决方案1】:

    您应该为此使用急切负载,但您需要与公司建立飞机关系。如果你写它只需要像这样在控制器中急切加载:

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

    【讨论】:

    • 感谢您的回答,但这并不是我想要的,因为它会返回带有公司和飞机的用户,但我希望它只返回飞机:/
    • 所以变成了这个User::whereId($id)->companies()->first()->airplanes
    猜你喜欢
    • 2020-12-15
    • 2019-02-07
    • 2017-09-30
    • 2018-06-07
    • 1970-01-01
    • 1970-01-01
    • 2017-07-30
    • 2020-03-11
    • 2018-11-02
    相关资源
    最近更新 更多