Php codeigniter查询中的动态赋值类型筛选器

Php codeigniter查询中的动态赋值类型筛选器,php,mysql,codeigniter,Php,Mysql,Codeigniter,查询不起作用的动态赋值类型,在“where子句”中显示错误数据库错误未知列“avgRateVal”。最好的办法是什么,有什么建议吗 $this->db->select('round(avg(ratevalue),1) as avgRateVal'); if($minRating!=0) $this->db->where('avgRateVal >=', 1); if($maxRating!=0) $this->db->where('av

查询不起作用的动态赋值类型,在“where子句”中显示错误数据库错误未知列“avgRateVal”。最好的办法是什么,有什么建议吗

$this->db->select('round(avg(ratevalue),1) as avgRateVal');
if($minRating!=0)
    $this->db->where('avgRateVal >=', 1);

if($maxRating!=0)
    $this->db->where('avgRateVal <=', 5);

$this->db->选择'roundavgratevalue,1作为avgRateVal'

如果$minRating=0

$this->db->where('round(avg(ratevalue),1) >=', 1);
如果$maxRating=0

$this->db->where('round(avg(ratevalue),1) <=', 5);

只能在GROUP BY、ORDER BY或HAVING子句中使用列别名

按如下方式编写查询:

$this->db->select('round(avg(ratevalue),1) as avgRateVal');
if($minRating!=0)
     $this->db->having('avgRateVal >=', 1);

if($maxRating!=0)
     $this->db->having('avgRateVal <=', 5);
$this->db->get('Table_Name');
$this->db->result_array();

找到了sql的解决方案,但如何在codeigniter中实现,任何想法都已经被证实了,它不起作用,因为它显示了数据库错误-组函数的无效使用阅读此内容,您可以更好地了解codeigniter活动记录@SantanuThank感谢帮助@Nidhi