通过从DoB + rails +单个查询计算来更新所有用户的年龄

时间:2014-06-12 12:25:14

标签: ruby-on-rails

我有一个用户模型,其中包含字段名称,年龄(以年为单位)和dob(即出生日期)。我想通过计算dob和Date.today之间的差异来更新所有用户的年龄。我希望它在一个查询中完成,而不是更新每个用户。

我尝试使用的代码是:

User.update_all("age = ?", Date.today - :dob); #not working

我该如何解决?我正在使用Active Record。

----- UPDATE

经过多次尝试后,我设法完成它,因为它纯粹的mysql查询。如何通过ORM完成?

User.update_all("age = floor(datediff(curdate(), dob) / 365.25);")

0 个答案:

没有答案