Как мне написать метод поиска Rails, который считает экземпляры поля? - PullRequest
1 голос
/ 03 февраля 2020

Я использую Rails 5. У меня есть модель с

class User < ApplicationRecord
    ...
    has_many :emails

Как мне написать метод поиска, который находит всех пользователей, которые имеют более одного электронного письма? Я не могу понять, как использовать «count» в предложении where.

1 Ответ

1 голос
/ 03 февраля 2020

Это присоединится к таблице электронных писем и вернет пользователей с числом больше одного.

scope :with_more_than_one_email, -> {
  joins(:emails).having('COUNT(emails) > 1').group(:id)
}

Вы можете вызвать его с помощью User.with_more_than_one_email

...