это моя ситуация с моим проектом Laravel:
- У меня есть 3 модели: Путешествия, Активность и Расходы.
- В одном путешествии много мероприятий и много расходов.
- Атрибуты модели:
- Проезд: идентификатор, название, описание, дата, местоположение
- Активность: id, travel_id, title, desc, date, выигрыш
- Расход: id, travel_id, title, desc, выигрыш
- Модель Travel имеет атрибут добавления, называемый total_prize, который является суммой всех расходов и операций, которые она имеет.
Пока все хорошо. Моя проблема в том, что я пытаюсь применить фильтр 'available_amount <= total_prize' к списку путешествий. </p>
Как я могу использовать атрибут добавления 'total_prize' для получения всех поездок, меньших, чем сумма_прибыли?
- amount_available - переменная почтового запроса.
Это метод доступа к атрибуту total_prize:
public function getTotalPrizeAttribute()
{
return (float) $this->activities->sum('prize') + $this->expenses->sum('prize');
}
Я хочу сделать что-то вроде этого:
Travel::where('total_prize', '<=', 'amount_available')->get();