我参与了Codeigniter 2项目,那里有一个active record,例如:
$query = $this->db->select_sum('Cardit * GPA', 'sum')
->get('marks_info');
它生成查询,例如:
SELECT SUM(`Cardit` * `GPA`) AS `sum` FROM `marks_info`
最近我将项目迁移到了Codeigniter 3,但是相同的活动记录生成的查询几乎没有什么不同,例如:
SELECT SUM(`Cardit *` `GPA`) AS `sum` FROM `marks_info`
那是错误的,它在SUM部分中包含*和 Cardit ('Cardit *')。
差异:
有人可以告诉我,如何在CodeIgniter 3中解决此问题?
答案 0 :(得分:0)
尝试一下,它将为您带来预期的输出
$query = $this->db->select('sum(Cardit * GPA) sum')->get('marks_info');
答案 1 :(得分:0)
避免查询中出现反引号。您可以为protect_identifiers
分配 false :
$this->db->_protect_identifiers=false;
并相应地运行查询。