我有一个hasMany
个交易的帐户模型。交易belongsTo
和TransactionType(可以是“付款”或“费用”)。现在,我要查询所有余额为负的帐户,即“付款”类型的交易的总和<=费用类型的交易的总和。 Laravel Eloquent最有效的方法是什么?这是可扩展的吗?我尝试查询accessor属性,但这没有用。
我创建了一个访问器,如下所示:
public function getBalanceAttribute()
{
return $this->payments->sum('amount') - $this->charges->sum('amount');
}
在我的帐户模型中,我有:
/**
* Get all of the accounts's payments.
*/
public function payments()
{
return $this->hasMany('App\Transaction')->whereTransactionTypeId(1);
}
/**
* Get all of the account's charges.
*/
public function charges()
{
return $this->hasMany('App\Transaction')->whereTransactionTypeId(2);
}