私は非常に複雑なデータ構造を持っています。結合テーブルのない10個のテーブルのようなものです。私のアプリケーションは、ほとんどのテーブルで検索を実行できる必要があります。
これを行うために、私は検索フィールドの内容を条件の配列に変換します。キーはモデル名、値は検索条件、つまり
$conditions = array(
'Artist' => array(
'OR' => array(
'Artist.name LIKE' => '%barl%',
'Pseudonym.name LIKE' => '%barl%'
)
),
'Content' => array('Content.subject' => 'architecture'),
'Editor' => array('Editor.name LIKE' => '%Gal%'),
etc....
)
この配列は検索可能なモデルに渡され、各モデルは関連する条件を取ります。
$this->find('all', array('conditions' => $conditions['Artist']))
これまでのところ、少なくとも私は思います。今、私はモデルのテストを開始しましたが、異なるモデルのテストケースで同じ配列を何度もコピーしていることに気づきました。
このアレイをすべてのテストケースにアクセスできるようにする方法はありますか?たぶん、配列は最良の解決策ではなく、検索モデルを作成する必要がありますか?
助言がありますか?