【发布时间】:2018-02-16 13:41:27
【问题描述】:
在使用 Laravel 5.2 进行查询时,我如何提取预先加载的关系?
$users = User::with(['posts' => function($query){
$query->pluck('id');
}])->get();
我希望响应只是用户帖子 ID 的 数字,如下所示:
[{user: Blabel, posts: [24,25,26]},
{user: Kraker, posts: [75,76,77]}]
我现在得到的是帖子表中的所有字段:
[{user:Blabel,
posts:[{id:24, name: "blabla", text: "bleble"},
{id:25, name: "blablabla", text: "blebleble"},
{id:26, name: "blablablo", text: "blebleblo"},
...
]},
{user:Kraker,
posts:[{id:75, name: "krakra", text: "krekre"},
{id:76, name: "krakrakra", text: "krekrekre"},
{id:77, name: "krokro", text: "krekrekro"},
...
]}
我可以在 Eager Loading Constraint 中使用 pluck 吗? 和Pluck Eager Loading Laravel 5.4是同一个问题,但是我没有找到成功的答案。
【问题讨论】:
-
谢谢,但我只需要提取关系中的值,而不是所有查询。我更新了我的问题。