Order
。Item
。Item
具有price
属性(来自数据库)。Order
有一个getAmountAttribute
方法,如下所示:/**
* @return double
*/
public function getAmountAttribute()
{
return $this->items->sum('price');
}
/**
* @return \Illuminate\Database\Eloquent\Relations\HasMany
*/
public function items()
{
return $this->hasMany(Item::class);
}
因此,我只需执行$order->amount
即可获取订单商品的总价。
现在我有一个Order
的集合,我想获取其总价格从10开始的每个订单。我怎样才能实现这一点,因为我无法在{{1}上使用我的自定义属性声明?
答案 0 :(得分:0)
您可以通过->havingRaw('SUM(price) > 10')
答案 1 :(得分:0)
您只能获得所需的订单集合(总价格从10开始的订单),而不是获取所有订单集合并获取所需订单。
->get(function($order) {
return $order->amount > 10;
});