我需要一种方法来查找模型中的所有记录,具体取决于其中一个相关模型的条件。
如下所示:
Product.where(:product_number => [1,3,5], customer.city => "New New York")
将返回客户所在城市为New New York且产品编号为1,3或5的所有产品。
我的产品表有一个customer_id列,所以我可能只找到所有城市是纽约的客户,获取他们的ID,然后使用:customer_id => customerIdArray
,但有一种更简单的方法,就像在我的例子中一样?也许使用类似customer.city
或customer[:city]
的内容?
答案 0 :(得分:1)
尝试以下方法:
Product.joins(:customer).where('products.product_number in (:product_list) and customers.city = :customer_city', product_list: [1, 3, 5], customer_city: 'New New York')