説明がすでにこれに記載されているかどうかわからない、間違った質問をしているかもしれませんが、誰かがこの問題を助けてくれることを願っています。シリアル化されたモデル配列の値を見つける
私はモデル配列内の値を探しています。私はproduct_category
3または3および他のカテゴリの組み合わせに属しているすべての製品を見つける必要がある
#<Product:0x0055cd0c1382b8> {
:id => 42266,
:product_category => [
[0] 8, [1] 3
]
}
:
class Product < ActiveRecord::Base
# product_category :text
serialize :product_category, Array
end
エントリの例:私のモデルは、このようになります。
私は
ap Product.where(product_category: [8])
のようなものを試してみましたが、これは何も返さdoesntの。
この質問が既に尋ねられた場合は、私に正しい答えに転送してください。そうでない場合は、いつでも私を助けてくれると大変感謝しています。
実行:
- のRails 4.2.4
- ルビー2.3.1.p112
- SQLite3の
データベースを再構築し、製品カテゴリの列をシリアル化するのではなく、製品カテゴリとの間に 'has_and_belongs_to_many'または' has_many:through'を使用する必要があるようです。これで簡単に検索できるようになります –
照合は不可能です。 @ j-dexxを提案してデータベースを再構築する必要があります。 – mudasobwa
どのデータベースを使用していますか?どのタイプが列です。 PostgresでJSONスタイルの列を使用している場合、配列の内容を問い合わせることができます。 –