我有一个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()
毫无疑问,这将是eagerloading和balance()不是一个集合的事实,但我想知道如何在不必循环构建数组的情况下实现相同的结果 .
1 回答
您可以使用以下函数中的条件