加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

ruby-on-rails – Rails ActiveRecord:PG ::错误:错误:列引用

发布时间:2020-12-16 20:19:09 所属栏目:百科 来源:网络整理
导读:我正在努力处理对象中的错误,并且不确定问题在哪里. 这就是模型的样子: class Car ActiveRecord::Base has_many :car_colors has_many :colors,:through = :car_colorsendclass CarColor ActiveRecord::Base belongs_to :color belongs_to :carendclass Col
我正在努力处理对象中的错误,并且不确定问题在哪里.

这就是模型的样子:

class Car < ActiveRecord::Base  
  has_many :car_colors
  has_many :colors,:through => :car_colors
end

class CarColor < ActiveRecord::Base
  belongs_to :color
  belongs_to :car
end

class Color < ActiveRecord::Base  
  has_many :car_colors
  has_many :cars,:through => :car_colors
end

这是查询:

@cars = Car.all(:joins => :car_colors,:conditions => { :car_colors => {:color_id => params[:id_number]}},:order => "cars.created_at DESC")

并输出错误:

PG::Error: ERROR:  column reference "created_at" is ambiguous
LINE 1: ...d" WHERE "car_colors"."color_id" = 2 AND (created_at...
                                                             ^
: SELECT "cars".* FROM "cars" INNER JOIN "car_colors" ON "car_colors"."car_id" = "cars"."id" WHERE "car_colors"."color_id" = 2 AND (created_at > '2013-05-03 12:28:36.551058') ORDER BY cars.created_at DESC

生成的SQL查询(错误消息下面)似乎很好,但是什么原因导致错误消息?

先谢谢你.

解决方法

car_colors表中可能有一个created_at字段. created_at应该是cars.created_at来消除歧义.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读