php - Codeigniter 连接 4 个表

标签 php mysql sql-server codeigniter

我陷入了生成用于连接表的 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;
}

有什么解决办法吗?我们将不胜感激。

提前致谢。

最佳答案

您没有引用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;
}

关于php - Codeigniter 连接 4 个表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26585227/

相关文章:

php - Woocommerce 创建自定义变量产品类型

php - 为什么我的查询没有更新?

mysql - 为什么从表格中删除文本字段中的部分数据后,仍然可以检索到数据?

c# - 使用 Microsoft.SqlServer.TransactSql.ScriptDom 生成查询

sql - 创建表后立即使用表 : object does not exist

php - 比较哈希值以检查它是否相等

PHP5 : Iterating through a list of child nodes (equivalent of child_nodes())?

php - 根据保管箱中发布的数据选择声明

php - 使用 PHP 克隆 MySQL 数据库

sql - 在sql中连接许多具有相同名称的行?