【发布时间】:2010-07-20 14:44:44
【问题描述】:
我需要一条 SQL 语句来检查一个条件是否满足:
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}'
但是,当它们组合使用时,它们又会中断。有没有更好的方法来指定这个?
【问题讨论】:
标签: ruby-on-rails ruby ruby-on-rails-3