【发布时间】:2017-09-12 03:08:12
【问题描述】:
- 我有型号
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 开始的每个订单。由于我无法在 where 语句上使用自定义属性,我该如何实现?
【问题讨论】:
-
如果你有一个现有的集合,只需运行一个循环。否则,您可能需要自定义 SQL 查询。
-
filter()在一个集合上应该足够了。
标签: php laravel laravel-eloquent