我陷入了生成用于连接表的 SQL 语句的困境。
基本上我有4张 table 。并且有2个带有外键的表。表序列连接到产品表和区域表。分布表连接到序列表。
表格产品。
id |产品描述
表区域。
id |区域_描述
表顺序。
id |产品 ID |区域ID
表分布
id |序列_id |销售|分销费
我的模型代码:
$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;
}
有什么解决办法吗?我们将不胜感激。
提前致谢。
最佳答案
您没有引用regions
和products
表
尝试这样的事情:
$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;
}
关于php - Codeigniter 连接 4 个表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26585227/