活动记录查询以获取关系数

时间:2019-04-01 19:44:56

标签: ruby-on-rails ruby activerecord

如何使用活动记录执行where子句(对解决同一问题的其他方式开放),该活动记录仅返回具有10个以上关联的记录。

例如:

我有订单和玩具。 每个订单可以有许多玩具,一对多关系。

我只想要至少有10个玩具的订单。

哪个活动记录查询将只向我返回至少有10个玩具的订单?

1 个答案:

答案 0 :(得分:1)

这应该可以解决问题:

Order
  .joins(:toys)
  .group('orders.id')
  .having('count(toys.*) > ?', 10)