我的訂單模型有pickup日期,交貨日期和狀態。 所以我想選擇訂單 -在rails中寫入activerecord查詢
- 如果狀態,如果picked_up然後pickup_date應該有一些日期值
(eg, '12/12/2012')
- 如果狀態,如果交付然後DELIVERY_DATE應該有一些日期值
(eg, '12/12/2012')
我想我們可以使用WHEN CASE
和Activerecord。有人可以幫我嗎?
我的訂單模型有pickup日期,交貨日期和狀態。 所以我想選擇訂單 -在rails中寫入activerecord查詢
(eg, '12/12/2012')
(eg, '12/12/2012')
我想我們可以使用WHEN CASE
和Activerecord。有人可以幫我嗎?
Order.where("(status = 'pickup_up' AND pickup_date = :date) OR (status = 'delivered' AND delivery_date = :date)", date: Date.today)
在Rails 5可以實際已經使用 '或' 方法ActiveRecord的關係:
Order.where(status: :picked_up, pickup_date: Date.today).or(Order.where(status: :delivered, delivery_date: Date.today))
除了@M。 Stavnycha回答,Rails在ActiveRecord查詢界面上有很大的一部分可用http://guides.rubyonrails.org/active_record_querying.html
Order.where(status: :picked_up).update(:pickup_date '12/12/2012')
Order.where(status: :delivered).update(:delivery_date '12/12/2012')