我想在表格中搜索配对值列表。 防爆。这是一个名字和姓氏的数组。
array = [['jane','doe'],['jack','chen'],['jane','ty'],['mike','ji'],['mike','smith']]
我想在User表中搜索这些组合中的每一个。 目前,我只能考虑按组合运行查询。
array.each do |a|
User.where("firstname like (?) and lastname like (?)",a[0],a[1])
end
有没有办法在单个查询中运行所有查询? 需要维护组合。
答案 0 :(得分:1)
以下应该适合你
query_string_array = []
query_array = []
array.each do |a|
query_string_array << "(firstname like '%?%' AND lastname like '%?%')"
query_array << a
end
User.where(query_string_array.join(" OR "), *query_array.flatten)