选择关系不为空的记录

Fel*_*ger 9 activerecord ruby-on-rails ruby-on-rails-3

我在Product和ProductCategory之间有一对多的关系.

如何查询至少有一个与之关联的产品的所有产品类别?

class Product < ActiveRecord::Base
  belongs_to  :product_category
end

class ProductCategory < ActiveRecord::Base
  has_many :products
end
Run Code Online (Sandbox Code Playgroud)

Fel*_*ger 5

ProductCategory.all(
  :joins => :products, 
  :select => "product_categories.*, count(products.id) as prod_count",
  :group => "product_categories.id"
)
Run Code Online (Sandbox Code Playgroud)

我找到了如何解决这个问题,感谢伟大的Ryan Bates在这个截屏视频:http://railscasts.com/episodes/181-include-vs-joins