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不使用=
进行赋值,仅供比较。因此,对于=
,没有有效的语法,只有=
。