我在一个项目上遇到以下问题,我正在尝试从一个模型和一个子关系中的其他特定字段中检索一些字段,但是当我使用->select('id')
语句时,它只是检索我的父模型中的id
字段和所有子关系都是空值,例如:
$someData = App\Book::with(['author:id,name,email', 'publisher:id,name,address'])->select('id')->get();
我只想检索一本书 id ;作者 ID,姓名和电子邮件字段以及发布商表中的'id,name和address'字段,这很明显吗? 有人能帮助我吗?
答案 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();