在这一点上,关于这些东西的文档还很少。如果您要进行更多与此类似的查询,我会考虑使用metawhere。使用metawhere,您可以执行此操作(或类似的操作,不确定语法是否正确):
Customer.includes(:purchases).where(:purchases => {:count.gte => 2})这样做的好处在于,metaWhere仍使用ActiveRecord和arel来执行查询,因此它与“新” rails 3进行查询的方式一起使用。
另外,您可能不想
.all在最后调用,因为这将导致查询对数据库执行ping操作。相反,您希望使用延迟加载,并且在您实际需要数据之前(在视图中或其他处理实际数据的方法中)才访问数据库。



