Artificial intelligent assistant

has_many関係を持つ親のモデルを子のモデルに基づいてソートする方法 `Company` `Disclosure` `Company` class Company < ActiveRecord::Base has_many :disclosures, dependent: :destroy end `Disclosure``published_at``datetime``Company``Disclosure``published_at` `Company``latest_disclosure_published_at``Disclosure``Company` `Company` ## @yasu PG::GroupingError: ERROR: column "companies.code" must appear in the GROUP BY clause or be used in an aggregate function` `Postgres`… Company.joins(:disclosures). group('companies.id, companies.code'). select('companies.id, companies.code, MAX(disclosures.published_at) disclosure_published_at') `select``group``*` ### ( psql --version psql (PostgreSQL) 8.4.20 psql --version psql (PostgreSQL) 9.5.2

JOIN ...


Company
.joins(:disclosures)
.group("companies.id")
.select("companies.*, MAX(disclosures.published_at) disclosure_published_at")
.order("MAX(disclosures.published_at)")


`MAX(disclosures.published_at)` `disclosure_published_at`

****

`GROUP BY` `SELECT` SQL




company_cols = Company.column_names.map { |name| "#{Company.table_name}.#{name}" }
Company
.joins(:disclosures)
.group(company_cols)
.select(*company_cols, "MAX(disclosures.published_at) disclosure_published_at")
.order("MAX(disclosures.published_at)")

xcX3v84RxoQ-4GxG32940ukFUIEgYdPy 4889c99e4e6af6ee41d55d62d6985398