如何在Codeigniter中选择无条件连接多个表?

时间:2014-11-24 08:59:43

标签: php mysql codeigniter

我想在codeigniter中使用join选择多个表,但我不想在下面的代码中创建任何条件

public function get_invoice(){

    $this->db->select('isp.*,dp.*,ip.*'); 
    $this->db->from('isp');
    $this->db->join('dp','dp.status = isp.status');
    $this->db->join('isp','isp.status = ip.status');
    $this->db->limit(5000);
    $this->query =  $this->db->get();
    if($this->query->num_rows()>0){
        return $this->query->result();
    }

}

但是我希望在没有条件的情况下获取该表中的所有数据,但在join语句中必须使用条件。

那么如何在codeigniter中无条件地从多个表中选择数据?

感谢您的帮助

1 个答案:

答案 0 :(得分:3)

是的,您可以无条件地加入查询。 INNER LEFT RIGHT JOINS需要条件。所以你可以做Cross JOIN.LIKE这个

public function get_invoice(){

 $this->db->select('isp.*,dp.*,ip.*'); 
 $this->db->from('isp,dp,ip');
 $this->db->limit(5000);
 $this->query =  $this->db->get();
 if($this->query->num_rows()>0)
 {
    return $this->query->result();
 }

}

但是在Cross JOIN,如果你的isp有100,dp有20,ip有50个记录它会产生(100 * 20 * 50)记录。我希望你知道CROSS,LEFT,INNER,RIGHT JOIN做什么。 / p>