【发布时间】:2017-09-30 04:59:38
【问题描述】:
我有一个 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()
这无疑是急切加载,而 balance() 不是一个集合,但我想知道如何在不必循环构建数组的情况下获得相同的结果。
【问题讨论】:
标签: php laravel laravel-5 eloquent