Eloquent: запрос на основе атрибута доступа - PullRequest
0 голосов
/ 19 декабря 2018

У меня есть модель учетной записи, которая hasMany транзакций.Транзакция belongsTo a TransactionType (может быть либо «оплата», либо «оплата»).Теперь я хочу запросить все счета с отрицательным сальдо, т. Е. Где сумма транзакций типа «оплата» <= сумма транзакций типа сбора.Какой самый эффективный способ сделать это с Laravel Eloquent?Это масштабируемое?Я попытался выполнить запрос атрибута доступа, но это не сработало. </p>

Я создал средство доступа следующим образом:

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);
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...