Laravel: 如何获取嵌套模型

Laravel: how to get nested models

你能不能指导我正确的方法。

我有四个型号:"Item"属于几个"Category"属于"Shop"属于"City"

我如何 select 带有所有嵌套模型的项目(对于 json 响应,例如,它并不重要)。

换句话说,我想得到这样的结构:

 item
  category_1
    shop_1
    shop_2
      city_1
  category_2

我可以通过 $item->with('categories') 语句获取类别,但是我如何获取 category 中的嵌套项目(shops,然后 - cities)。

感谢您的帮助!

Nested Eager Loading

To eager load nested relationships, you may use "dot" syntax.

因此,要做到这一点,只需这样做:

$item->with('categories', 'categories.shop', 'categories.shop.city');