Я пытаюсь сделать действие поиска litle для одной из моих моделей. My Model Salarie
был связан с некоторыми другими моделями, в частности:CakePhp: Найти/Paginate с условиями на «hasMany» assiociated models
Salarie
-> hasMany ->Permission
Salarie
-> hasOne ->Carburant
Так я пытаюсь сделать находку() на моей модели Salarie
, чтобы выбрать записи, соответствующие ключевому слову. Это ключевое слово может быть найдено в моей модели Salarie
, или в соответствующей модели Permission
, Carburant
.
Вот моя фактическая находка():
$salaries = $this->Salarie->find('all',array(
'contain' => array(
'User','Agence','Entitee','Fonction','Contact','Ligne','Car','CallingCard','Badge','Carburant','Permission'),
'conditions'=>array(
'OR'=>array(
'Salarie.nom LIKE' => '%'.$keyWord.'%',
'Salarie.prenom LIKE' => '%'.$keyWord.'%',
'Salarie.secu LIKE' => '%'.$keyWord.'%',
'Salarie.tel LIKE' => '%'.$keyWord.'%',
'Salarie.mobile LIKE' => '%'.$keyWord.'%',
'Salarie.ville LIKE' => '%'.$keyWord.'%',
'Salarie.email LIKE' => '%'.$keyWord.'%',
'Carburant.numero LIKE' => '%'.$keyWord.'%',
)
)
));
Этот код работает, но не смотрит в Permission
таблицы/модели, если я добавить эту строку 'Permission.login LIKE' => '%'.$keyWord.'%',
в моих условиях массива я получил ошибку
Column not found: 1054 Unknown column 'Permission.login' in 'where clause'
Я стараюсь с contain
, но это не то, что я искал, contain
фильтры DATAS в результатах работы find
.
если у кого-то есть советы?
Проверьте свои ассоциации с «Разрешением» в модели «Salarie». Поскольку, похоже, действуют другие ассоциации, может возникнуть проблема с декларацией «Разрешение». – ylerjen
Я проверил свои ассоциации, но только добавляет ссылку hasMany. –