Laravel 在雄辩的条件下使用append属性

Laravel 在雄辩的条件下使用append属性,laravel,eloquent,Laravel,Eloquent,这是我的laravel项目的情况: 我有三种模式:旅行、活动和消费 一次旅行有很多活动和费用 模型属性: 旅行:身份证、职务、描述、日期、地点 活动:id、旅行id、头衔、描述、日期、奖品 费用:身份证、旅行证、头衔、描述、奖品 旅行模型有一个名为“total_prize”的附加属性,即它拥有的所有费用和活动的总和 到目前为止还不错。我的问题是当我尝试应用过滤器“available_amount get()”时; 您有两种选择: 获取所有行程,然后对其进行过滤(效率不高): $tra

这是我的laravel项目的情况:

  • 我有三种模式:旅行、活动和消费
  • 一次旅行有很多活动和费用
  • 模型属性:
    • 旅行:身份证、职务、描述、日期、地点
    • 活动:id、旅行id、头衔、描述、日期、奖品
    • 费用:身份证、旅行证、头衔、描述、奖品
  • 旅行模型有一个名为“total_prize”的附加属性,即它拥有的所有费用和活动的总和
到目前为止还不错。我的问题是当我尝试应用过滤器“available_amount get()”时; 您有两种选择:

  • 获取所有行程,然后对其进行过滤(效率不高):
$travels=Travel::with('activities','expenses')->get()
->其中('total_prize',”您有两个选择:

  • 获取所有行程,然后对其进行过滤(效率不高):
$travels=Travel::with('activities','expenses')->get()

->其中('total_prize'、'Edit one thing,amount_available'是一个post请求变量。Edit one thing,amount_available是一个post请求变量。
 public function getTotalPrizeAttribute()
    {
        return (float) $this->activities->sum('prize') + $this->expenses->sum('prize');
    }
Travel::where('total_prize', '<=', 'amount_available')->get();