0

:machine_ids整数の配列である配列エントリを持つモデル TestRun があります。:machine_idsフィールドに特定の配列エントリmid:status「実行中」がある特定の TestRun エントリを見つけることができるように、条件付きで検索を呼び出すにはどうすればよいでしょうか。

これは私が欲しいものの大まかな概要です。配列に が含まれているかどうかを調べるための条件をフォーマットする方法がわかりませんmid

cur_testrun = TestRun.find(:first, :conditions => {:machine_ids => mid, :status => "Running"})
4

1 に答える 1

0

配列は、データベースに保存するために YAML にシリアル化されます。シリアル化されたデータは、簡単または効率的なクエリには向いていません。

以下の質問と回答で提案されているように、スキーマを少し正規化してみてください。あるいは、マッチングが複雑になると書くのが楽しくない SQL の「like」クエリが残ります。

Rails アクティブ レコード クエリ、シリアル化された配列

于 2012-08-01T19:42:52.153 に答える