我有一个用户模型和其他 3 个用户模型(HasManys):技能、经验、资格
公共 $hasMany = 数组(
'Experience' => array(... 'Qualification' => array(... 'Skill' => array(...
并且 3 个模型中的每一个都有
public $belongsTo = array('用户' => array(...
Skill、Experience 和 Qualification 都包含一个名为“title”和“description”的字段
通过所有 3 个模型的每个OR “标题”和“描述”并返回符合条件的用户,通配符搜索 (%search%) 的最佳方法是什么?
我很难理解它,而且我搜索的任何东西都与我想要的相反或不相关。
有谁知道如何完成这样的任务?
到目前为止,我有这样的事情:
$cond=array('OR'=>array(
"Skills.name LIKE '%$keyword%'",
"Experiences.name LIKE '%$keyword%'",
"Experiences.description LIKE '%$keyword%'")
);
$conditions = array('conditions'=>$cond);
$list = $this->User->find('all',
array('conditions') => $cond);
$list = $this->User->find('all', array('recursive'=> 1, 'conditions'=> $cond));
任何帮助都将不胜感激,因为我花了 5 个小时的大部分时间寻找和尝试不同的方法,但实际上无济于事。
干杯!