使用Laravel / Eloquent中的with,从父表和子模型中的一些其他自定义字段中检索自定义字段

时间:2018-05-24 13:31:21

标签: laravel laravel-5 eloquent

我在一个项目上遇到以下问题,我正在尝试从一个模型和一个子关系中的其他特定字段中检索一些字段,但是当我使用->select('id')语句时,它只是检索我的父模型中的id字段和所有子关系都是空值,例如:

$someData = App\Book::with(['author:id,name,email', 'publisher:id,name,address'])->select('id')->get();

我只想检索一本书 id ;作者 ID,姓名和电子邮件字段以及发布商表中的'id,name和address'字段,这很明显吗? 有人能帮助我吗?

1 个答案:

答案 0 :(得分:1)

如果执行->select('id'),Laravel没有关系所需的外键。

只需将外键添加到选择:

->select('id', 'author_id', 'publisher_id')

所以看起来应该是这样的:

$someData = App\Book::with(['author:id,name,email', 'publisher:id,name,address'])
    ->select('id', 'author_id', 'publisher_id')
    ->get();