Codeigniter加入4个表

时间:2014-10-27 10:13:33

标签: php mysql sql-server codeigniter

我无法生成用于连接表的SQL语句。

基本上我有4张桌子。并且有2个表用外键。表序列连接到Product表和Region Table。并且分配表连接到序列表。

表产品。

id | product_desc

表区域。

id | region_desc

表序列。

id | product_id |的region_id

表格分布

id | sequence_id |销售| distribution_fee

我的型号代码:

$this->db->select('*');
$this->db->from('distributions'); 
$this->db->join('sequence', 'sequence.id = distributions.sequence_id', 'left');
$this->db->join('sequence', 'sequence.product_id=products.product_no'); //Generates Error
$this->db->join('sequence', 'sequence.region_id=regions.id'); // Generates Error
$this->db->order_by('distributions.id','asc');         
$query = $this->db->get(); 
if($query->num_rows() != 0){
   return $query->result_array();
} else {    
  return false;
}

任何解决方案?非常感谢。

提前致谢。

1 个答案:

答案 0 :(得分:0)

您没有引用regionsproducts

尝试这样的事情:

$this->db->select('*');
$this->db->from('distributions'); 
$this->db->join('sequence', 'sequence.id = distributions.sequence_id', 'left');
$this->db->join('products', 'sequence.product_id=products.product_no');
$this->db->join('regions', 'sequence.region_id=regions.id');
$this->db->order_by('distributions.id','asc');         
$query = $this->db->get(); 
if($query->num_rows() != 0){
   return $query->result_array();
} else {    
   return false;
}