У меня очень сложная структура данных, что-то вроде 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']))
Пока все хорошо, по крайней мере, я думаю. Теперь я начал тестировать модели и обнаружил, что копирую один и тот же массив в разных тестовых случаях, и это беспокоит меня.
Есть ли способ сделать этот массив доступным для каждого теста? Может быть, массив не лучшее решение, и я должен сделать модель поиска?
Есть предложения?