我正在構建一個電子商務網站,並希望使用活動記錄where語句來查找範圍限定於特定供應商和某些裝運狀態的貨物。這裏是我現在有的:Rails Active Record .where語句優化
Spree::Shipment.where("stock_location_id = ? and "state = ?", spree_current_user.supplier.stock_locations.first.stock_location_id, 'shipped' || 'ready')
我發現這隻會導致'運送'語句得到返回。我希望它能顯示已發貨和已發貨。到目前爲止,我只能讓它顯示一個或另一個,具體取決於我是在查詢中首先放置'運送'還是'準備好'。
我猜我已經把OR運算符(||)放在錯誤的地方,即使沒有錯誤。有人能告訴我一種合適的方式來將OR操作符置於where語句中的條件嗎?
感謝,
- 布蘭登
哇,快速響應。這看起來比我的回答更清潔。我會試一試! – Haymaker87