gpt4 book ai didi

ruby-on-rails - Rails activerecord 查询比较同一记录的两个属性

转载 作者:行者123 更新时间:2023-12-03 00:48:48 27 4
gpt4 key购买 nike

我正在寻找一种方法来构建一个比较同一记录的两个属性的查询,而无需首先提取记录并比较后查询。我的具体案例可能有 10k 条记录,因此迭代每条记录不是一个选择。

示例:通过查询 .where Updated_at == Created_at 查找此记录

#<User id: 1, name: "xxx", created_at: "2012-07-01 12:00:00", updated_at: "2012-07-01 12:00:00">

Rails 3+、ActiveRecord、MySQL。

更新:正如评论者 Matzi 指出的,以下内容在使用 sqlite 时有效,但在使用 mysql 时无效:

User.where("created_at == updated_at")

已解决:简单的错误,ruby 与 sql。

Sqlite 可以使用:

User.where("created_at == updated_at")

但 MySQL 需要:

User.where("created_at = updated_at")

最佳答案

如果您想以通用方式执行此操作,则应该使用 ARel 来摆脱特定的数据库实现。类似的东西

users = User.arel_table
User.where(users[:created_at].eq(users[:updated_at]))

可以工作

关于ruby-on-rails - Rails activerecord 查询比较同一记录的两个属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11377696/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com