Например, Post
has_many Comments
.Найти записи, которые не имеют связанных записей
Как найти все сообщения, которые не имеют комментариев?
Например, Post
has_many Comments
.Найти записи, которые не имеют связанных записей
Как найти все сообщения, которые не имеют комментариев?
Вы можете использовать не существует, как:
Post.where(" not exists (select 'x' from comments where comments.post_id = posts.id)")
Для лучшей производительности используйте колонку counter_cache:
belongs_to :post, :counter_cache => true
api.rubyonrails.org, Railscasts
Тогда вы можете сделать:
Post.where("comments_count = ?", 0)
Я бы использовал кеш-счетчик, чтобы избежать запроса sub. Если у вас много комментариев, это может быть излишне медленным. – DanS