在laravel

时间:2016-10-14 19:23:55

标签: php laravel-5.3

我是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');
}));

1 个答案:

答案 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();
        }
    )
);