Подтвердить что ты не робот

Найти, где существуют связанные записи

Как я могу выбрать только тех сотрудников, у которых есть связанные записи тегов? Другими словами, выберите только записи сотрудников, которые имеют одну или несколько записей тегов, связанных с ними.

class Employee < ActiveRecord::Base
  has_and_belongs_to_many :tags
end

class Tag < ActiveRecord::Base
  has_and_belongs_to_many :employees
end

Запрос ниже (что неверно) даст вам, ребята, идею того, что я пытаюсь сделать.

Employee.includes(:tags).where("tags.id != nil")
4b9b3361

Ответ 1

Вы можете использовать .joins

Employee.joins(:tags)

Создаваемый SQL содержит и INNER JOIN в таблице tags, опуская записи employees таблицы, у которых нет связанной записи tags.