像這樣的事情應該去做
$conditions = array();
$search_terms = explode(' ', $search_string);
foreach($search_terms as $search_term){
$conditions[] = array('Model.name Like' =>'%'.$search_term.'%');
$conditions[] = array('Model.text Like' =>'%'.$search_term.'%');
$conditions[] = array('Model.code Like' =>'%'.$search_term.'%');
}
$products = $this->paginate('Product', array('conditions' => array('OR' => $conditions)));
編輯:如果您所有的檢索詞都必須在任何領域的存在,這將是這樣的:
$conditions = array();
$search_terms = explode(' ', $search_string);
foreach($search_terms as $search_term){
$conditions[] = array('OR' => array('Model.name Like' =>'%'.$search_term.'%',
'Model.text Like' =>'%'.$search_term.'%',
'Model.code Like' =>'%'.$search_term.'%',
)
);
}
$products = $this->paginate('Product', $conditions);
但這個代碼韓元根據我的理解,不要求所有搜索條件都存在...... – Henri
explode()應該指向您正確的方向。我想答案已經很明顯了。 –
@亨利,我想我起初不明白你想要什麼。檢查我的更新 – kaklon