我需要检查,如果一个条件满足的SQL语句:Ruby on Rails的3 HOWTO使“或”条件
SELECT * FROM my_table WHERE my_table.x=1 OR my_table.y=1
我想这样做的“Rails的3”的方式。我正在寻找类似的东西:
Account.where(:id => 1).or.where(:id => 2)
我知道我总是可以回退到sql或条件字符串。但是,根据我的经验,这在合并范围时往往会导致混乱。做这个的最好方式是什么?
另一个相关的问题是如何描述依赖于OR条件的关系。我发现的唯一方法是:
has_many :my_thing, :class_name => "MyTable", :finder_sql => 'SELECT my_tables.* ' + 'FROM my_tables ' +
'WHERE my_tables.payer_id = #{id} OR my_tables.payee_id = #{id}'
但是,当它们组合使用时,它们再次断裂。有没有更好的方法来指定这个?
: OR运算符尚未支持。它的工作方式如下: users.where(users [:name] .eq('bob')。or(users [:age] .lt(25))) – hjuskewycz 2010-07-21 11:18:27