myテーブルの1列はjson形式の文字列で構成されています。私はActiveRecordを使用して、配列に含まれる同じ項目に一致するか、または同じ項目で構成される配列を持つすべてのレコードを返す方法を知りたいと思います。例えばActiveRecordを使用してレコードの配列に一致させる
:SQL部分にはActiveRecordでシリアライズされたデータを検索
flag.colors = ['red', 'blue', 'green']
query = ['blue', 'red', 'green']
Flag.where('colors matches query') #=> flag
どのデータベースですか? "json形式の文字列の配列"とは、 'varchar'または' text'カラムのJSONを意味しますか、データベースのネイティブJSONサポートを使用していますか? –
私はPostgreSQLを使用していますが、ネイティブなJSONサポート(バグあり)は使用していません。データ型はStringですが、JSON.parseメソッドを使用してRubyの配列に持ち込みます。理想的ではない、私は今実現している... – exchez
あなたのJSONは文字列の配列なので、 'text []'カラムを使うようにスキーマを修正できますか?配列の列はActiveRecordで正常に動作するはずです。 –