2012-12-18 51 views

回答

1

您可以使用子選擇(我用 '經典' Product <= LineItem => Order模型組)和NOT IN

jdoe_products = Product.joins(:orders).where(orders: {name: 'jdoe'}) 
Product.where('id NOT IN (%s)' % jdoe_products.select(:id).to_sql) 

產地:

Product Load (0.0ms) SELECT "products".* FROM "products" WHERE (id NOT IN (SE 
LECT "products"."id" FROM "products" INNER JOIN "line_items" ON "line_items"."pr 
oduct_id" = "products"."id" INNER JOIN "orders" ON "orders"."id" = "line_items". 
"order_id" WHERE "orders"."name" = 'jdoe')) 
+0

啊你喜歡的人,你!這正是我所期待的。謝謝! – Trip

+0

真正的問題是,它是如此輕盈? – Trip

相關問題