假设我有一张Cat桌子,每只猫都有独特的颜色。是否有一个activerecord方法我可以用来在一个查询中获取红色和蓝色的猫。我的目标是更快的查询,而不是用Cat.where(颜色:红色)单独找到每一个,然后用蓝色做同样的事情。
答案 0 :(得分:5)
你可以这样做:
Cat.where(color: ['red', 'blue'])
这将生成SQL查询:
SELECT cats.* FROM cats WHERE cats.color IN ('red', 'blue')
答案 1 :(得分:1)
Cat.where(color: 'red').or.where(color: 'blue')
或
Cat.where("color = ? OR color = ?", "red", "blue")
或
Cat.where(color: ["red", "blue"])
答案 2 :(得分:-1)