PostgreSQL
 sql >> Datenbank >  >> RDS >> PostgreSQL

Aktiver Datensatz:JSON-Abfrage

Dies:

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

ist das Ergebnis des Aufrufs von inspect auf die Abfrage und inspect zeigt nur Spalten an, die das Modell darüber kennt. Das Modell fragt die Tabelle während des Starts nach den Spalten ab, sodass es nur die Spalten kennt, die sich tatsächlich in der Tabelle befinden.

ActiveRecord erstellt mithilfe von method_missing spontan Zugriffsmethoden für Spalten so kann es Methodendinge in einer Abfrage erstellen, die keine Spalten in der eigentlichen Tabelle sind.

Also Ihre data ist da, müssen Sie nur namentlich danach fragen, zum Beispiel:

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

gibt Ihnen die data Werte.