【发布时间】:2017-10-11 12:54:03
【问题描述】:
我有一个 Company 模型,其中包含许多 Disclosures。 Disclosure 具有名为 title、pdf 和 pdf_sha256 的列。
class Company < ActiveRecord::Base
has_many :disclosures
end
class Disclosure < ActiveRecord::Base
belongs_to :company
end
我想通过pdf_sha256 使其独一无二,如果pdf_sha256 是nil,则应将其视为唯一。
如果是Array,我会这样写。
companies_with_sha256 = company.disclosures.where.not(pdf_sha256: nil).group_by(&:pdf_sha256).map do |key,values|
values.max_by{|v| v.title.length}
end
companies_without_sha256 = company.disclosures.where(pdf_sha256: nil)
companies = companies_with_sha256 + companeis_without_sha256
如何使用 ActiveRecord 查询获得相同的结果?
【问题讨论】:
-
请点击我回答的这个链接。stackoverflow.com/a/50577181/7329402
标签: ruby-on-rails postgresql activerecord