problèmes avec AR 2.3.5, par exemple:Comment forcer le type d'attribut ActiveRecord renvoyé par: select phrase sur la table jointe?
users = User.all(:select => "u.id, c.user_id", :from => "users u, connections c",
:conditions => ...)
retours, par exemple:
=> [#<User id: 1000>]
>> users.first.attributes
=> {"id"=>1000, "user_id"=>"1000"}
Notez que retourne AR le id
du modèle recherché comme numérique, mais sélectionné user_id
du modèle joint en tant que String
, bien que les deux soient int(11)
dans le schéma de base de données.
Comment pourrais-je mieux former ce type de requête pour sélectionner des colonnes de tables sauvegardant plusieurs modèles et récupérer leur type naturel plutôt que String
? On dirait que l'AR est en train de piquer quelque part. Comment pourrais-je contraindre les types retournés au moment du chargement de l'AR et ne pas avoir à virer de .to_i
(etc.) sur chaque accès post-hoc?
Pouvez-vous expliquer ce que « connexions » est, et comment est-elle liée aux utilisateurs? – kikito