我有一个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