7

私はこのモデルを持っています:

class User < ActiveRecord::Base
  has_many :customers, -> { order('customers.name ASC') }
  has_many :stores, -> { order('company_stores.id ASC').uniq }, through: :customers
end

私がしようとすると

user.stores

このエラーがあります:

PG::InvalidColumnReference: ERROR:  for SELECT DISTINCT, ORDER BY expressions must appear in select list

Rails は を実行するためSELECT DISTINCT of company_stores.*ですが、 にORDER BYも表示されますcustomers.name

協会での秩序を放棄する必要がありますか?

4

1 に答える 1

7

エラーメッセージが示唆するように、PG は選択式に注文式が含まれていることを要求するため、select('stores.*, company_stores.id').order('company_stores.id ASC').uniqまたは同様の方法でうまくいくはずです。

于 2013-11-06T09:05:21.290 に答える