Tôi cần một câu lệnh SQL mà kiểm tra nếu một điều kiện được thỏa mãn:Ruby on Rails 3 howto make 'OR' tình trạng
SELECT * FROM my_table WHERE my_table.x=1 OR my_table.y=1
Tôi muốn làm điều này 'Rails 3' chiều. Tôi đang tìm kiếm một cái gì đó như:
Account.where(:id => 1).or.where(:id => 2)
Tôi biết rằng tôi luôn có thể dự phòng thành chuỗi sql hoặc chuỗi điều kiện. Tuy nhiên, theo kinh nghiệm của tôi, điều này thường dẫn đến hỗn loạn khi kết hợp phạm vi. Cách tốt nhất để làm việc này là gì?
Một câu hỏi khác có liên quan, là cách mô tả mối quan hệ phụ thuộc vào điều kiện OR. Cách duy nhất tôi tìm thấy:
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}'
Tuy nhiên, các lỗi này lại bị hỏng khi được sử dụng trong kết hợp. IS có cách nào tốt hơn để xác định điều này?
từ trang web arith github: Toán tử OR chưa được hỗ trợ. Nó sẽ hoạt động như sau: users.where (người dùng [: name] .eq ('bob') hoặc (người dùng [: age] .lt (25))) – hjuskewycz