gpt4 book ai didi

php - 使用 Mysql 和 Codeigniter 连接 4 个表

转载 作者:行者123 更新时间:2023-11-29 03:42:26 26 4
gpt4 key购买 nike

我有 4 张 table ,那都是一段关系,是的,他们彼此相爱 :p

  • 产品
  • 产品类别
  • 产品类别关系
  • 产品图片

我想在一个查询中加入这 4 个表,这是我的 Codeigniter 代码;

function list_products($limit = 10, $offset = 0, $category)
{
$this->db->select('p.url, p.name, p.title, i.image');
$this->db->from('products p');
$this->db->join('product_categories c','c.id = r.category_id',
'left');
$this->db->join('product_category_relations r',
'r.category_id = c.id','left');
$this->db->join('product_images i',
'p.id = i.product_id AND i.default = 1','left');
$this->db->where('c.url',$this->category_url.$category);
$this->db->limit($limit,$offset);
return $this->db->get()->result();
}

当我执行这个函数/查询时,结果是关于定义“r”的错误。

Unknown column 'cms_r.category_id' in 'on clause'

查询:

SELECT p.url, p.name, p.title, i.image FROM (cms_products p) LEFT JOIN cms_product_categories c ON c.id = cms_r.category_id LEFT JOIN cms_product_category_relations r ON r.category_id = c.id LEFT JOIN cms_product_images i ON p.id = i.product_id AND i.default = 1 WHERE c.url = 'kategori/yilbasi' LIMIT 12

你能帮帮我吗?

最佳答案

您在使用后将 r 指定为与​​ product_category_relations 相似。

在这里你写:

$this->db->join('product_categories c','c.id = r.category_id','left');

但是 r 是什么?你只在下一个陈述中回答这个问题。

$this->db->join('product_category_relations r','r.category_id = c.id','left');

如果您需要具体答案,请提供示例 SQL 创建脚本。

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

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com