如何在Codeigneitor中的get_where子句中连接两个表数据

时间:2016-06-30 06:49:44

标签: php mysql codeigniter

我想在get_where子句中加入两个表。我可以这样做吗?目前我有以下代码。

if ($dep == "0") {
            $q = $this->db->get_where('pay', array("date" => $date));
        } else {
            $q = $this->db->get_where('pay', array("date" => $date, "dep" => $dep));
        }

目前它从支付表中获取数据。我想要做的是同时检查"状态"领域是"活跃"在' emp' table.i想加入$ q。

3 个答案:

答案 0 :(得分:1)

尝试下面的事情

 $q = $this->db->join('emp e','e.id = p.emp_id')->get_where('pay p', array("p.date" => $date,"e.status"=>"Active"));

答案 1 :(得分:1)

您可以尝试以下操作。

$this->db->select('*');
$this->db->from('pay');
$this->db->join('emp', 'emp.id = pay.empid');
$this->db->where('pay.date',$date);
$this->db->where('emp.status','active');

这里我假设您按员工ID加入2个表。 如果您需要精确的查询,请提供表格pay和emp的详细信息。

答案 2 :(得分:0)

您可以使用此

 $q = $this->db->join('emp','emp.id = pay.emp_id')->get_where('pay', array("pay.date" => $date,"emp.status"=>"Active"));