如何限制使用嵌套关系返回的列 - Laravel Eloquent

How to limit the columns returned with a nested relationship - Laravel Eloquent

我试图限制在 eloquent 关系中返回的列,但没有成功。

以下作品:

$books = Book::with('author:id,name')->get(); 

但我需要的不起作用:

$books = Book::with('author.company:id,name,phone')->get();

您急于加载特定列。

When using this feature, you should always include the id column and any relevant foreign key columns in the list of columns you wish to retrieve.

所以请检查您的公司 table 并确保添加所有外键列,

例如:如果这是我的公司 table 有一个名为 owner_idaddress_id 的列,您必须像这样将它添加到 with() 方法中。

$books = Book::with('author:id,name, owner_id, address_id')->get();