我是laravel的新手,我正在使用laravel 5.3
我有一个由18个字段组成的用户表。每当我运行这一行:$article->load('comments.user', 'comments.replies.user');
时,我都会得到所有18个字段。是否有可能只检索3个字段(名称,用户名和ID)?
我花了一些时间在谷歌搜索,但我发现的答案不起作用:
$article->load(array('comments.user' => function($query) {
$query->select('id', 'name', 'username');
}));
答案 0 :(得分:0)
可以将行$article->load('comments.user', 'comments.replies.user');
更改为可以指定所需字段的以下代码行
return $article->load(
array(
'comments.user' => function($query) {
$query->select('id', 'name', 'username')->get();
},
'comments.replies.user' => function($query) {
$query->select('id', 'name', 'username')->get();
}
)
);