在 laravel 中进行预先加载时检索特定字段
Retrieve specific field while doing eager loading in laravel
我是 laravel 的新手,我正在使用 laravel 5.3
我有一个由 18 个字段组成的用户 table。任何时候我 运行 这一行:$article->load('comments.user', 'comments.replies.user');
,我都会得到所有 18 个字段。有没有可能只检索 3 个字段(名称、用户名和 ID)?
我花了一些时间在 google 上搜索,但我找到的答案不起作用:
$article->load(array('comments.user' => function($query) {
$query->select('id', 'name', 'username');
}));
行$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();
}
)
);
我是 laravel 的新手,我正在使用 laravel 5.3
我有一个由 18 个字段组成的用户 table。任何时候我 运行 这一行:$article->load('comments.user', 'comments.replies.user');
,我都会得到所有 18 个字段。有没有可能只检索 3 个字段(名称、用户名和 ID)?
我花了一些时间在 google 上搜索,但我找到的答案不起作用:
$article->load(array('comments.user' => function($query) {
$query->select('id', 'name', 'username');
}));
行$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();
}
)
);