我有一個membership
模型,我想在兩列搜索OR
....不知道該怎麼做。如何在同一個表中的兩列上執行OR操作?
我嘗試這樣做:
u1.all_memberships.where(inviter: u2, invited: u2)
Membership Load (6.8ms) SELECT "memberships".* FROM "memberships" WHERE (memberships.user_id = 1 OR memberships.invited_id = 1) AND "memberships"."user_id" = 3 AND "memberships"."invited_id" = 3
=> []
但需要注意的2 AND
兩個查詢,當理想我想這樣做是字面上只是OR
小號更換所有AND
秒。
Membership Load (6.8ms) SELECT "memberships".* FROM "memberships" WHERE (memberships.user_id = 1 OR memberships.invited_id = 1) OR (memberships.user_id = 3 OR memberships.invited_id = 3)
假設我修改語法正確的SQL ofcourse:
因此,如果查詢看起來是這樣的我會愛。
如何使用where
條款做到這一點?那可能嗎?
點擊這裏:http://stackoverflow.com/questions/17192829/does-rails-4-have-support-for - 或 - 查詢將有一個'或'範圍在rails5中,直到那時,你可以使用'any_of'提取到一個gem。 – xlembouras