我想通过执行类似的操作来查找记录
@something=模型。其中(X=1或Y=1)
但我尝试的所有东西都不起作用。这应该很容易,但我在任何地方都找不到解决方案。
编辑:更具体地说,我试图找到X是1,Y是1的所有记录。
您很可能希望在模型中使用where子句,即
@something = Model.where('X=1 OR Y=1')
引号中的内容只是SQL,因此这将生成类似于以下内容的SQL:
SELECT `model`.* FROM `model_table` WHERE (X = 1 or y = 1)
希望能有所帮助!
ian。
您想要在这里设置哪个:
| id | x | y |
| 1 | 1 | 0 |
| 2 | 0 | 1 |
| 3 | 1 | 1 |
如果您只想要3:Model.where(:x => 1, :y => 1)
如果您想要1、2和3:
tab=Model.arel_table; Model.where(tab[:x].eq(1).or(tab[:y].eq(1)))
如果Or语句不复杂,甚至:Model.where(["x=? OR y=?",1,1])
。
您还可以从Ryan Bates的《Rails3Railscast中的高级查询》中获益匪浅。