Rails find all with association
I have what I think is a very simple problem (famous last words)...
开发者_JS百科I have a Category
model that has_and_belongs_to_many
Events
. I want to construct a simple and efficient query that finds all categories that have 1 or more events. (using Rails 3)
I'm sure I'm having a dumb moment here - any help appreciated :)
How about:
Category.find :all,
:conditions => 'id in (select distinct category_id from categories_events)'
You could also add this as a named scope to your Category
class so that you can say Category.with_events
e.g.
class Category < ActiveRecord::Base
named_scope :with_events,
:conditions => 'id in (select distinct category_id from categories_events)'
end
精彩评论