Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/66.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 如何根据活动记录中的“updated_at”列仅检索更新的记录_Ruby On Rails_Ruby_Postgresql_Activerecord - Fatal编程技术网

Ruby on rails 如何根据活动记录中的“updated_at”列仅检索更新的记录

Ruby on rails 如何根据活动记录中的“updated_at”列仅检索更新的记录,ruby-on-rails,ruby,postgresql,activerecord,Ruby On Rails,Ruby,Postgresql,Activerecord,我正在尝试从表中检索所有更新的记录。 这里我只考虑更新列中的updated\u,而不考虑其他列 每当创建新记录时,created_at列和updated_at列都具有相同的时间戳,因此我希望获得其updated_at列与初始分配不同的所有记录 我的问题是: @obj=User.where(:receiver\u id=>current\u User.id)。where(“updated\u at-created\u at>?”,0)。order('created\u at DESC')。并获取“

我正在尝试从表中检索所有更新的记录。 这里我只考虑更新列中的
updated\u,而不考虑其他列

每当创建新记录时,
created_at
列和updated_at
列都具有相同的时间戳,因此我希望获得其
updated_at
列与初始分配不同的所有记录

我的问题是:

@obj=User.where(:receiver\u id=>current\u User.id)。where(“updated\u at-created\u at>?”,0)。order('created\u at DESC')
。并获取“PG::Error:Error:operator不存在:interval>integer”

我的另一个大问题是,在单个查询中查找表的两列之间的差异是否有效

请建议除上述方法之外的任何好方法是否能使其更简单:

@obj = User.where(:receiver_id => current_user.id).where('updated_at != created_at').order(created_at: :desc)

很好,它适用于您的代码,但当尝试使用
where('updated_at==created_at')
时,它会显示
PG::Error:Error:operator不存在:timestamp无时区==timestamp无时区
@Rahul
=
SQL中不存在,请使用
=
SQL不使用
=
进行赋值,仅供比较。因此,对于
=
,没有有效的语法,只有
=