dbテーブルに裏打ちされたメールモデルがあります。Recipientsは、連絡先ID番号と生の電子メールを保持するシリアル化された配列です。連絡先に送信されたすべての電子メールを取得するためにクエリを実行できるようにしたいと思います。find_by_recipients(contact.idを含む)を行うにはどうすればよいですか?
2 に答える
0
シリアル化されたデータの内部を実際に照会することはできません。データを保存する別の方法を理解するか、すべてのレコードをフェッチして、Rubyを使用して何らかの方法でそれらを反復処理する必要があります(これをどのように行うかは、スタイルに応じて異なります)。警告:レコードが多い場合、後者は非常に遅くなります。
于 2012-07-25T19:26:49.150 に答える
0
3つのオプションがあります
- データを再構築し、シリアル化されたデータを新しいテーブル/列に抽出します
- いくつかの検索エンジン(おそらくsunspot_solr gemを使用したSOLR)を使用してデータにインデックスを付けます
- 代わりにnosqlソリューションを使用してください。MongoDBとmongo_mapper/mongoidが望ましい
于 2012-07-26T11:13:15.003 に答える