【发布时间】:2012-08-08 13:38:00
【问题描述】:
我有 4 张桌子,这都是关系,是的,他们彼此相爱: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”的错误。
“on 子句”中的未知列“cms_r.category_id”
查询:
选择
p.url,p.name,p.title,i.imageFROM (cms_productsp) 左连接cms_product_categoriesc ONc.id=cms_r.category_id左连接cms_product_category_relationsr ONr.category_id=c.id左连接cms_product_images我打开p.id=i.product_idAND i.default = 1 其中c.url= 'categori/yilbasi' 限制 12
你能帮帮我吗?
【问题讨论】:
标签: php mysql codeigniter join