小编Joe*_*Joe的帖子

Rails activerecord查询比较同一记录的两个属性

我正在寻找一种方法来构建一个查询,比较同一记录的两个属性,而不先拉取记录和比较后查询.我的具体情况可能会有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">
Run Code Online (Sandbox Code Playgroud)

Rails 3 +,ActiveRecord,MySQL.

更新:正如评论员Matzi所指出的,以下在使用sqlite时有效,但不是mysql:

User.where("created_at == updated_at")
Run Code Online (Sandbox Code Playgroud)

解决:简单的错误,ruby vs sql.

Sqlite可以使用:

User.where("created_at == updated_at")
Run Code Online (Sandbox Code Playgroud)

但MySQL要求:

User.where("created_at = updated_at")
Run Code Online (Sandbox Code Playgroud)

ruby-on-rails ruby-on-rails-3

7
推荐指数
1
解决办法
3073
查看次数

标签 统计

ruby-on-rails ×1

ruby-on-rails-3 ×1