ユーザーモデルと、スキル、経験、資格の 3 つのユーザーモデル (HasManys) があります。
public $hasMany = 配列(
'Experience' => array(... 'Qualification' => array(... 'Skill' => array(...
3つのモデルはそれぞれ
public $belongsTo = array( 'User' => array(...
スキル、経験、および資格には、「タイトル」と「説明」というフィールドが含まれています。
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時間の大部分を費やしたので、どんな助けも本当に感謝しています.
乾杯!