1
假設用戶有兩個範圍,「non_member」和「new_user」。我想要或他們,包括連接和訂單。你如何「或」一個兩個或多個範圍
我試圖提取where子句構建一個或聲明瞭兩個範圍。但是,聯合和訂單不包括在內。
例如
non_member_where = User.non_member.where_values.reduce(:and)
new_user_where = User.new_user.where_values.reduce(:and)
@users = User.where("#{non_member_where} OR #{new_user_where}")
非成員範圍需要加入成員資格表。如果你上面的代碼,那不加入,因爲它只涉及到哪裏。
有沒有更好的方法如何「或」兩個範圍?喜歡的東西
@users = User.non_member.or.new_user
該輸出是這樣的:
SELECT users.* FROM users LEFT JOINS memberships ON memberships.user_id = users.id
WHERE((memberships.user_id IS NULL) OR (users.created_at < {{2 days ago}})
我使用的軌道3.2.12
我想最近做到這一點,積極發現記錄有或較差的支持。最近可能已經改變。你在用什麼Rails版本? – 2013-04-22 09:32:41
https://coderwall.com/p/33rwgw?i=2&p=1&q=author%3Aoelmekki&t%5B%5D=oelmekki – apneadiving 2013-04-22 09:53:51
使用rails 3.2.12 – user181677 2013-04-22 09:58:59