我尝试使用两个参数制作search field
。一个用于name
,另一个用于location
。但是我的代码只返回第一个参数的结果。也许有人可以弄清楚出了什么问题。
下面是我的代码。
模式:
public function search_job($keyword, $location){
$query = $this->db->like('name', $keyword)
->like('location', $location)
->or_like('description', $keyword)
->get('jobs');
return $query->result_array();
}
控制器:
public function search_job(){
$location = $this->input->post('location');
$keyword = $this->input->post('keyword');
if ($this->input->post('submit')) {
$this->Job_model->search_job($keyword, $location);
}
}
答案 0 :(得分:1)
我认为当没有$keyword
传递时,您的查询会搞砸,请尝试以下查询。
代码:
public function search_job($keyword, $location){
$this->db->select('*');
$this->db->from('jobs');
if(!empty($keyword)) {
$this->db->group_start();
$this->db->like('name', $keyword);
$this->db->or_like('description', $keyword);
$this->db->group_end();
}
$this->db->like('location', $location);
$query = $this->db->get();
return $query->result_array();
}