我正在寻找一种方法来构建一个查询,该查询比较同一记录的两个属性,而无需先拉动记录并比较后查询。我的具体情况可能会有10万条记录,因此遍历每条记录不是一种选择。Rails activerecord查询比较同一记录的两个属性
例子:通过查询。哪里的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")
解决:简单的错误,红宝石VS SQL。
SQLite的可以使用:
User.where("created_at == updated_at")
但MySQL的要求:
User.where("created_at = updated_at")
问题是什么?你可以使用'.where'来实现。 – Matzi 2012-07-07 18:45:30
这就是我所希望的,但一直在用错误的术语进行搜索。您介意提供一个快速示例或链接到相关文档?在此先感谢 – Joe 2012-07-07 18:49:07
这应该工作︰'Users.where(“created_at == updated_at”)' – Matzi 2012-07-07 18:55:00