我有一個模型'混合',其中有字段(我希望可以搜索)'name''description'和'tag_words' ,以及一個布爾字段'published'。用戶應該能夠輸入一個多字搜索字詞並獲得任何出現在任何可搜索字段中的字詞,只要「已發佈」字段設置爲1cakephp - 用多字搜索字符串建立一個查詢,搜索多個字段
到目前爲止,藉助Google和在這裏閱讀我周圍已經有了:
if ($this->request->is('post')) {
$conditions = array();
$search_terms = explode(' ', $this->request->data['Mix']['search']);
foreach($search_terms as $search_term){
$conditions[] = array('Mix.name Like' =>'%'.$search_term.'%');
$conditions[] = array('Mix.description Like' =>'%'.$search_term.'%');
$conditions[] = array('Mix.tag_words Like' =>'%'.$search_term.'%');
}
$searchResults = $this->paginate('Mix', array('conditions' => array('Mix.published'=>1, 'AND'=>array('OR' => $conditions))));
}
但由於它沒有返回值,但錯誤的負載我想這是完全錯誤的。我很困惑,什麼是正確的語法?
你在哪裏上面的代碼(模型或控制器)寫了什麼樣的錯誤你得到了什麼? – sandip 2013-03-15 14:55:28
我把代碼放在控制器中,我在下面的答案的評論中發佈了錯誤。感謝您的幫助 – 2013-03-15 15:36:05