我有這個陣列:
cars = ["green", "blue", "red", "yellow"]
我想使用相同的名稱欄位進行條件處理,例如:
Car.where(name: 'green', name: 'blue', name: 'red', name: 'yellow')
我正在尋找一個條件,我可以把所有有這四個名字的車都帶上
有沒有更實用的方法來簡化多條件查詢?這樣它可以是最優的
uj5u.com熱心網友回復:
Car.where(name: ["green", "blue", "red", "yellow"])
這將為您回傳與名稱為綠色或藍色或紅色或黃色的汽車的關系。在 SQL 中轉換為類似的東西
SELECT cars.*
FROM cars
WHERE name IN ('green', 'blue', 'red', 'yellow')
注意這個哈希
{ name: 'green', name: 'blue', name: 'red', name: 'yellow' }
你傳遞給的那個where,總是評估為
{ name: 'yellow' }
因為你不能用一個鍵多次實體化一個散列。最后一個被保留
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/510043.html
