PostgreSQL
 sql >> Base de données >  >> RDS >> PostgreSQL

Enregistrement actif :requête JSON

Ceci :

#<ActiveRecord::Relation [#<Model id: 1, Model id: 2 ...>]

est le résultat de l'appel de inspect sur la requête et inspect n'affichera que les colonnes que le modèle connaît. Le modèle interrogera la table pour les colonnes au démarrage afin de ne connaître que les colonnes qui se trouvent réellement dans la table.

ActiveRecord crée des méthodes d'accès aux colonnes à la volée en utilisant method_missing afin qu'il puisse créer des éléments de méthodes dans une requête qui ne sont pas des colonnes dans la table réelle.

Donc, vos data est là, il vous suffit de le demander par son nom, par exemple :

Model.select(:id, "json_field -> 'data' as data").map(&:data)

vous donnera les data valeurs.