CodeIgniter查询结果行price字段乘数值后返回不生效如何解决
问题原因
- 第二行的乘法运算仅完成了数值计算,没有将结果赋值回目标对象属性,计算结果直接被丢弃,不会修改原有数据。
- 该框架查询结果类的
row()方法每次调用都会重新解析结果集,返回全新的对象实例:第二行操作的是首次调用row()生成的临时对象,第三行再次调用row()获取的是未做修改的原始新对象,之前的计算结果不会同步到最终返回的对象中。
解决方法
单次调用row()方法将行对象存入变量,修改该变量的price属性后直接返回即可,示例代码如下:
$query = $this->db->get(); $response = $query->row(); $response->price = $response->price * $colors['quantity']; return $response;
内容的提问来源于stack exchange,提问作者Aasem Shoshari
相关产品推荐
相关产品推荐

