如何在Rails中为生成的SELECT语句添加一些列?

时间:2013-10-23 16:37:47

标签: ruby-on-rails ruby activerecord rails-postgresql pg

我是初学者。

我的模特:

class Publisher < ActiveRecord::Base
  has_many :articles
  has_many :transactions, through: :articles
  has_many :reader_profiles, -> { uniq }, through: :transactions
  #etc
end

导致错误的代码:

@profiles = publisher.reader_profiles

我的错误:

PG::InvalidColumnReference: ERROR:  for SELECT DISTINCT, ORDER BY expressions must appear in select list
LINE 1: ... $1  ORDER BY reader_profiles.transactions_count, transactio...
                                                             ^
: SELECT  DISTINCT "reader_profiles".* FROM "reader_profiles" INNER JOIN "transactions" ON "reader_profiles"."id" = "transactions"."reader_profile_id" INNER JOIN "articles" ON "transactions"."article_id" = "articles"."id" WHERE "articles"."publisher_id" = $1  ORDER BY reader_profiles.transactions_count, transactions.created_at LIMIT 10 OFFSET 0

我的问题:

我显然需要将这些transactions字段添加到我的SELECT语句中。我怎么样?我是否必须手动检查所有JOIN等?

0 个答案:

没有答案
相关问题