Возникли проблемы с AR 2.3.5, например ::100100
users = User.all( :select => "u.id, c.user_id", :from => "users u, connections c",
:conditions => ... )
Возвращает, например ::1004 *
=> [#<User id: 1000>]
>> users.first.attributes
=> {"id"=>1000, "user_id"=>"1000"}
Обратите внимание, что AR возвращает id
модели, найденной как числовой, а выбранный user_id
объединенной модели как String
, хотя обе являются int(11)
в схеме базы данных.
Как мне лучше сформировать этот тип запроса, чтобы выбрать столбцы таблиц, поддерживающие несколько моделей и получить их естественный тип, а не String
? Похоже, что AR где-то задумывается об этом. Как я могу принудительно возвращать возвращаемые типы во время загрузки AR, и при этом не нужно прикреплять .to_i
(и т. Д.) К каждому доступу по запросу?