【发布时间】:2013-06-24 04:51:11
【问题描述】:
一个基本的 ActiveRecord 查询返回一个不带引号的 id,例如:
User.first.attributes => {"id"=>2, ...
在 find_by_sql 中,别名列以引号中的值返回,在这种情况下参见 id:
all = User.find_by_sql("SELECT u.id as u_id from users u").first.attributes => {"u_id"=>"2"}
如何避免引用值?
【问题讨论】:
-
为什么要使用
find_by_sql和别名id? -
需要跨多个表联合 3 个选择语句。 alias 允许我确定哪些 id 属于哪些模型,然后将它们更改为带引号的字符串。
标签: sql ruby-on-rails find-by-sql