雄辩的:基于访问者属性的查询

时间:2018-12-18 21:10:07

标签: php laravel eloquent

我有一个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);
}

0 个答案:

没有答案