【发布时间】:2020-01-21 22:55:48
【问题描述】:
假设我有一个 ActiveRecord 模型 Document,它与子依赖模型 File 具有 has_many 关系。我可以使用如下查询为给定的父 Document 急切加载文件:
document_with_files = Document.includes(:files).find_by(document_id: document_id)
如果同一 SQL 语句中只有一个子文件,ActiveRecord 中是否有删除父文档的方法?我已经尝试过类似以下的方法,并且非常接近:
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 子句中没有得到认可。
【问题讨论】:
标签: ruby-on-rails postgresql activerecord