我有一个非常复杂的数据结构,比如 10 个没有连接表的表。我的应用程序需要能够在大多数表中执行搜索。
为此,我想将搜索字段的内容转换为条件数组。key为型号名称,value为搜索条件,即
$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']))
到目前为止一切都很好,至少我认为。现在我开始测试模型,我发现自己在不同的模型测试用例中一遍又一遍地复制同一个数组,这让我很困扰。
有没有办法让每个测试用例都可以访问这个数组?也许数组不是最好的解决方案,我应该做一个搜索模型?
有什么建议么?