所以我有一个搜索框可以在我的工厂表中搜索。它的工作方式就像一个魅力,但我仍然是codeigniter的新手。
我是否需要使用select来选择数据库中的多个表?
我的控制器功能:
function search()
{
$this->load->view('views/header');
$this->load->view('views/search');
$this->load->view('views/footer');
}
function searchresults()
{
$match = $this->input->post('search');
$data['query'] = $this->bedrijven_model->get_search($match);
$this->load->view('views/header');
$this->load->view('views/searchresults', $data);
$this->load->view('views/footer');
}
我的模特:
function get_search($match)
{
$this->db->like('Bedrijfsnaam', $match);
$this->db->or_like('Postcode', $match);
$this->db->or_like('Plaats', $match);
$this->db->or_like('Telefoonnummer', $match);
$this->db->or_like('Email', $match);
$this->db->or_like('Website', $match);
$this->db->or_like('Profiel', $match);
$this->db->or_like('Adres', $match);
$query = $this->db->get('bedrijven');
return $query->result();
}
我也想知道你是否可以将你的搜索功能从模型中放入控制器。因为那时我需要为每个表创建一个新的模型函数。
提前致谢。
答案 0 :(得分:3)
尝试连接两个表然后应用
$this->db->like('Bedrijfsnaam', $match);
$this->db->or_like('Postcode', $match);
$this->db->or_like('Plaats', $match);
$this->db->or_like('Telefoonnummer', $match);
$this->db->or_like('Email', $match);
$this->db->or_like('Website', $match);
$this->db->or_like('Profiel', $match);
$this->db->or_like('Adres', $match);
在col1,col2
中搜索table2中的匹配项$this->db->or_like('table2.col1',$match);
$this->db->or_like('table2.col2',$match);
最后使用table1
加入您已应用上述内容的表格$this->db->join('table2','table1.id = table2.id');
$query = $this->db->get('bedrijven');
答案 1 :(得分:0)
“用户指南”中的示例应解释此:
$this->db->select('*'); // <-- There is never any reason to write this line!
$this->db->from('blogs');
$this->db->join('comments', 'comments.id = blogs.id');
$query = $this->db->get();
// Produces:
// SELECT * FROM blogs
// JOIN comments ON comments.id = blogs.id
请参阅“用户指南”中Active Record页面下的整个内容。