如何使用 eloquent "with" select 特定列
How to select specific columns with eloquent "with"
在将 "with" 与 eloquent 一起使用时,有没有办法只 select 特定的列?
我的问题是我得到了很长的帐户列表,我还需要使用关系 "with" 获取他们的网站,但是 "websites" 对象很大,它发出了请求很慢。
我尝试使用:
$accounts = $accounts->with('websites')->select(['account_id','url']);
还有:
$accounts = $accounts->with('websites', function($query) {
$query->select(['account_id','url']);
});
而且他们都没有用。
我在他们的文档中没有看到这个问题的答案,所以如果有人愿意与我分享,我将不胜感激。此外,如果 "with" 有一个替代方案可以提供相同的结果,那也很好。谢谢。
尝试定义关系中的列:
class Account
{
public function websites()
{
return $this->hasMany('App\Website')->select(['account_id','url']);
}
}
请注意 class 和关系仅用于演示目的,请尝试在您的关系中添加此 ->select(['account_id','url'])
。
$accounts = $accounts->with([
'websites' => function($query) {
$query->select(['account_id','url']);
}
]);
在将 "with" 与 eloquent 一起使用时,有没有办法只 select 特定的列?
我的问题是我得到了很长的帐户列表,我还需要使用关系 "with" 获取他们的网站,但是 "websites" 对象很大,它发出了请求很慢。
我尝试使用:
$accounts = $accounts->with('websites')->select(['account_id','url']);
还有:
$accounts = $accounts->with('websites', function($query) {
$query->select(['account_id','url']);
});
而且他们都没有用。
我在他们的文档中没有看到这个问题的答案,所以如果有人愿意与我分享,我将不胜感激。此外,如果 "with" 有一个替代方案可以提供相同的结果,那也很好。谢谢。
尝试定义关系中的列:
class Account
{
public function websites()
{
return $this->hasMany('App\Website')->select(['account_id','url']);
}
}
请注意 class 和关系仅用于演示目的,请尝试在您的关系中添加此 ->select(['account_id','url'])
。
$accounts = $accounts->with([
'websites' => function($query) {
$query->select(['account_id','url']);
}
]);