sql >> データベース >  >> RDS >> PostgreSQL

アクティブレコード:JSONクエリ

    これ:

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

    inspectを呼び出した結果です クエリとinspect モデルが認識している列のみが表示されます。モデルは起動時にテーブルに列を照会するため、実際にテーブルにある列についてのみ認識されます。

    ActiveRecordは、method_missingを使用して、その場で列アクセサーメソッドを作成します そのため、実際のテーブルの列ではないメソッドをクエリに作成できます。

    つまり、data そこにある場合は、名前で尋ねる必要があります。例:

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

    dataが表示されます 値。




    1. Laravel5.4は間違ったCOM_STMT_PREPARE応答サイズを提供します

    2. SQL結合2テーブル

    3. pdoで文字列をエスケープする方法は?

    4. N+1の冗長性とサーバーの統合