Модели просто User
и Review
. Отношения: User
имеет много Reviews
. Я хочу выяснить, у какого пользователя более 2 отзывов.
Я написал это, и оно работает.
User.joins(:reviews).group(:id).having("COUNT('reviews.id') > 2")
Затем я хочу обернуть их и вернуть пользователям id
, first_name
и обзор title
. Поэтому я попробовал следующее, но выбросил проблему с запросом N + 1.
User.select(:id,:first_name)
.joins(:reviews).group(:id)
.having("COUNT('reviews.id') > 2")
.as_json(include: {reviews: {only: :title}})
Просто заменить joins
на includes
, кажется, не работает, есть ли способ решить стремительную загрузку с group
, having
состояние?