Ответ 1
Вы можете использовать .joins
Employee.joins(:tags)
Создаваемый SQL содержит и INNER JOIN
в таблице tags
, опуская записи employees
таблицы, у которых нет связанной записи tags
.
Как я могу выбрать только тех сотрудников, у которых есть связанные записи тегов? Другими словами, выберите только записи сотрудников, которые имеют одну или несколько записей тегов, связанных с ними.
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")
Вы можете использовать .joins
Employee.joins(:tags)
Создаваемый SQL содержит и INNER JOIN
в таблице tags
, опуская записи employees
таблицы, у которых нет связанной записи tags
.