ActiveRecord has_many其中子模型大于0

时间:2016-12-04 00:34:57

标签: ruby-on-rails activerecord

我正在努力解决一个看似简单的AR问题。我无法弄清楚如何返回有一个或多个与会者的事件列表,而文档示例使用我不想使用的cache_control

我有一个简单的事件模型,其关系为has_many

class Event < ActiveRecord::Base
  has_many :attendees
end

以及属于事件

的与会者模型
class Attendees < ActiveRecord::Base
  belongs_to :event
end

但有些活动将有0名与会者。那么,在不使用cache_control或编写自定义SQL语句的情况下,ActiveRecord的方法是什么?

似乎它会像:

Event.where(attendees.count > 0)

但我一直收到列错误。

1 个答案:

答案 0 :(得分:0)

要仅与参与者一起举办活动,您可以执行以下操作:Event.joins(:attendees).uniq.all

最后调用all会返回一个数组,而删除它会让你产生一个activerecord关系。