仅当属性低于另一个时才进行 ActiveRecord 查询

ActiveRecord query only if attribute is inferior than another

我有当前查询:

@meals = Meal.where(week_day: 1, vacation_mode: false).order('random()')

Meal 还有两个属性:max_daily_orderstoday_orders。两者都是整数。

我想执行与上述相同的查询,但只获取 today_orders 严格低于 max_daily_orders

的餐点

例如:

如何改进我的查询以便比较这两个属性?

你可以只在 where 中输入一串查询内容,我通常使用这种方法,因为它让我觉得我在写简单的 SQL.

这应该适合你:

@meals = Meal.where("week_day = 1 
                 AND vacation_mode = false
                 AND today_orders < max_daily_orders")