这是我的laravel项目的情况:
到目前为止,一切都很好。我的问题是,当我尝试将过滤器“ available_amount <= total_prize”应用于旅行的列表时。
如何使用附加属性'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();
答案 0 :(得分:1)
您有两种选择:
className
$travels = Travel::with('activities', 'expenses')->get()
->where('total_prize', '<=', $amount_available);
:getTotalPrizeAttribute()