我有两个表:
Orders => [state]
Ads => [title, order_id]
Order has_many Ads
Ad belongs_to Order
如果我想查找所有标题为“ AAA”的广告订单,我会这样做:
Order.all.joins(:ad).where(title: "AAA")
但我想查找所有订单状态属性等于“ XXX”的广告。我该怎么办?
答案 0 :(得分:2)
在rails中,您可以这样做:
Ad.joins(:order).where(orders: { state: "AAA" })
这将产生以下SQL:
SELECT ads.*
FROM ads
INNER JOIN orders ON order.id = ads.order_id
WHERE orders.state = 'AAA'