假设我有三个模型,它们之间存在如下关系:
USER 拥有 多个 ORGANISATION
ORGANISATION 拥有 多个 ORDER
ORDER
如果只需要获取一级数据,可以使用以下代码: user->organisations()->get()
这样就能获取与用户相关的所有组织。但是每个组织也可能有0到多个订单实体,因此我们想要通过以下方式来获取所有用户的所有组织中的订单列表: user->organisations()->orders()->get()
这样是否可行呢?
USER 拥有 多个 ORGANISATION
ORGANISATION 拥有 多个 ORDER
ORDER
如果只需要获取一级数据,可以使用以下代码: user->organisations()->get()
这样就能获取与用户相关的所有组织。但是每个组织也可能有0到多个订单实体,因此我们想要通过以下方式来获取所有用户的所有组织中的订单列表: user->organisations()->orders()->get()
这样是否可行呢?
\User::with(["organisations", "organisations.orders"])->find()
预加载它们。 - apokryfoshasManyThrough()
。https://laravel.com/docs/5.4/eloquent-relationships#has-many-through - Gayan