【发布时间】:2011-02-11 06:48:59
【问题描述】:
AR 2.3.5 遇到问题,例如:
users = User.all( :select => "u.id, c.user_id", :from => "users u, connections c",
:conditions => ... )
返回,例如:
=> [#<User id: 1000>]
>> users.first.attributes
=> {"id"=>1000, "user_id"=>"1000"}
请注意,AR 将搜索到的模型的 id 返回为数字,但将连接模型的选定 user_id 返回为 String,尽管两者在数据库架构中都是 int(11)。
我怎样才能更好地形成这种类型的查询来选择支持多个模型的表列并检索它们的自然类型而不是 String ?似乎 AR 在某个地方对此进行了抨击。我如何在 AR 加载时强制返回类型,而不必在每个事后访问中添加 .to_i (等)?
【问题讨论】:
-
你能解释一下什么是“连接”,它与用户有什么关系?
标签: ruby-on-rails activerecord select join type-coercion