0
我有一个模型客户端的laravel应用程序。Laravel用关系和计算返回集合
客户端有许多地址,许多工作和许多交易。
我已经在我的客户端模型如下关系:
public function jobs()
{
return $this->hasMany('App\Job','client_id');
}
public function addresses()
{
return $this->hasMany('App\Address','client_id');
}
public function Fees()
{
return $this->hasMany('App\Transaction','client_id');
}
我再有这种模式,其计算
public function balance()
{
return $this->Fees()->where('status',2)->sum('gross');
}
我试图返回一个列表值的另一个功能所有客户以及他们的地址,工作和每个客户的余额。
我已经试过如下:
$customers = $user->clients()->with('balance')->with('jobs')->with('addresses')->get();
我收到以下错误
呼叫到字符串
一个成员函数addEagerConstraints()这无疑将是预先加载和事实的平衡()不是一个集合,但我想知道我将如何实现相同的结果,而不必循环建立一个数组。
感谢,我已经试过,但它返回的所有费用,而不是该和值使用条件与功能? –
新的更新应该是有效的。它基于这个链接。 https://laracasts.com/discuss/channels/eloquent/how-to-use-sumcolumn-from-relation-in-where-clause-and-orderby-it –