Rails SQL:如何使用组合值列表搜索记录

时间:2018-03-29 20:48:32

标签: sql ruby-on-rails arrays

我想在表格中搜索配对值列表。 防爆。这是一个名字和姓氏的数组。

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

有没有办法在单个查询中运行所有查询? 需要维护组合。

1 个答案:

答案 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)