我有两个模型
Order has_many State(s)
State belongs_to Order
a State has an attribute named 'kind'
我试图用活动记录表达以下查询:'所有具有current_state.kind的订单=:某事',
current_state是订单的最后创建状态。
我还在模型中添加:current_state作为has_one关联:
has_one :current_state, -> { order('created_at DESC').limit(1) }, class_name: 'State'
但它无济于事
答案 0 :(得分:0)
这是我迄今为止找到的最佳解决方案
Order.joins(:states).where("states.id IN (SELECT MAX(id) FROM states GROUP BY order_id)").where("states.kind"=>"checkedin")