如何链接或从 Arel Array
How to chain or from Arel Array
我读了。
user = User.arel_table
u1 = user[:id].eq(1)
u2 = user[:id].eq(2)
u3 = user[:id].eq(3)
result = User.where(u1.or(u2).or(u3))
还可以。
如何像上面那样链接?使用 each
或 map
等
user = User.arel_table
foo = [
user[:id].eq(1),
user[:id].eq(2),
user[:id].eq(3)
]
result = foo.map{|o| ??? }
使用reduce
:
conditions = foo.reduce(:or)
User.where(conditions)
你的情况可以是:
User.where(id: [1, 2, 3])
上面的代码构造了 where id in (1, 2, 3)
查询。
我读了。
user = User.arel_table
u1 = user[:id].eq(1)
u2 = user[:id].eq(2)
u3 = user[:id].eq(3)
result = User.where(u1.or(u2).or(u3))
还可以。
如何像上面那样链接?使用 each
或 map
等
user = User.arel_table
foo = [
user[:id].eq(1),
user[:id].eq(2),
user[:id].eq(3)
]
result = foo.map{|o| ??? }
使用reduce
:
conditions = foo.reduce(:or)
User.where(conditions)
你的情况可以是:
User.where(id: [1, 2, 3])
上面的代码构造了 where id in (1, 2, 3)
查询。