可以使用条件子集进行 ActiveRecord 查询。例如:
Client.where(:orders_count => [1,3,5])
据推测,您可以使用多个子集执行此操作:
Client.where(:orders_count => [1,3,5], :location => ["Austin", "New York", "Chicago"])
如果您希望这两个子集相互依赖,就像多态关系一样:
Client.where(:clientable_type => ["business", "charity", "business"], :clientable_id => [1, 1, 2])
因此,此查询将有效地查找Client.find_by(:clientable_type => "business", :clientable_id => 1)
、Client.find_by(:clientable_type => "charity", :clientable_id => 1)
和Client.find_by(:clientable_type => "business", :clientable_id => 2)
。但不是,Client.find_by(:clientable_type => "charity", :clientable_id => 2)
因为它会链接每个数组中的第一项,然后是每个数组中的第二项,然后是第三项,依此类推。
是否可以编写这样的查询?