0
我有一個名爲'projects'的表,它有一個名爲project_title的列。下面是sql代碼。順便說一下,我在蛋糕上做了所有這些。我可以告訴你我的蛋糕代碼以及下面生成的SQL查詢。產生當數據庫中存在值時,Mysql返回0行。使用Cakephp
function search()
{
if (!empty($this->data)):
$keywords = Array();
$keywords['categories'] = array();
$categories = $this->data['Project']['ProjectCategory'];
if($categories):
foreach($categories as $category):
$keywords['categories'][] = $category;
endforeach;
endif;
$queries = str_replace(",", "",$this->data['Project']['query']);
$keywords['project_title'] = explode(" ", $queries);
$nq = '';
foreach($keywords as $key =>$value)
{
if($key == 'project_title'):
foreach($value as $q):
$nq[] = array('Project.project_title LIKE'=>"%$q%");
endforeach;
elseif($key == 'categories'):
foreach($value as $q):
$nq[] = array('Category.id'=>"$q");
endforeach;
endif;
}
$final = array("OR"=>$nq);
$joins = '';//array('table'=>'users','alias'=>'User','type' =>
//'LEFT','conditions'=>'User.id = Project.user_id');
$options = array('conditions'=>$final);
$projects = $this->Project->ProjectCategory->find('all',$options);
$this->set('projects',$projects);
$this->paginate();
endif;
}
這個查詢:
SELECT * FROM `project_categories` AS `ProjectCategory`
LEFT JOIN `projects` AS `Project`
ON (`ProjectCategory`.`project_id` = `Project`.`id`)
LEFT JOIN `categories` AS `Category`
ON (`ProjectCategory`.`category_id` = `Category`.`id`)
WHERE `Project`.`project_title` LIKE '%test%'
,你可以看到,我加入其他2個表。但是在這裏居住
WHERE `Project`.`project_title` LIKE '%test%'
在項目中,我有3個記錄有項目標題下的測試。我會在下面列出他們
Ryans Test Project
Ryans Test Project 2
Test project #2
Money Aint A Thang
我收到沒有錯誤,我只是得到一個零結果。
有什麼問題?
當您複製生成的SQL並將其彈出到phpMyAdmin中時會發生什麼? – webbiedave