我有一个使用Active Record的查询,当我执行时会显示一个问题。问题在于计数别名(contagem)。当我在where子句中使用别名时,我总是会收到错误。
错误是:'where子句'中的未知列'contagem'
我该如何解决这个问题?
$this->db->distinct();
$this->db->select($this->produto_categoria_campos . ', count(pc.codigo_produto_categoria) AS contagem');
$this->db->from($this->produto_categoria_tabela . ' pc');
$this->db->group_by('pc.codigo_produto_categoria');
$this->db->where('contagem >', 0);
$this->db->order_by("pc.ordem", "ASC");
return $this->db->get()->result();
答案 0 :(得分:2)
尝试将false设置为$ this-> db->选择第二个参数以防止转义字段。
$this->db->distinct();
$this->db->select($this->produto_categoria_campos . ', count(pc.codigo_produto_categoria) AS contagem', FALSE);
$this->db->from($this->produto_categoria_tabela . ' pc');
$this->db->group_by('pc.codigo_produto_categoria');
$this->db->where('contagem >', 0);
$this->db->order_by("pc.ordem", "ASC");
return $this->db->get()->result();