Рассмотрим сценарий, в котором у меня есть модель ActiveRecord Document
, которая имеет отношение has_many
с независимой моделью File
. Я могу загрузить файлы для данного родительского элемента Document
с помощью запроса, такого как:
document_with_files = Document.includes(:files).find_by(document_id: document_id)
. Есть ли способ в ActiveRecord удалить родительский документ, если в качестве части файла имеется только один дочерний файл? то же самое SQL заявление? Я пробовал что-то вроде следующего, и это довольно близко:
Document.select("document.*, COUNT(files.id) file_count")
.joins(:files)
.group("document.id")
.where(document_id: document_id_to_be_found)
.where("file_count = ?", 1)
Кажется, что мое назначение file_count
не распознается в последнем предложении .where
.