CodeIgniter关联表查询结果展示到视图及字段未定义问题解决
问题原因
你的SQL查询语句中,将qty_po字段的求和结果重命名为了别名TOTAL,最终返回的结果集中只存在nama_produk和TOTAL两个字段,不存在qty_po字段,因此视图中尝试读取$pr->qty_po时会触发列未定义的报错。
修复方案
两种修改方案任选其一即可:
方案1:修改视图字段调用
将视图代码中调用采购量的行,改为读取别名TOTAL:
<!-- 原代码 --> <td> <?php echo $pr->qty_po ?> </td> <!-- 修改后 --> <td> <?php echo $pr->TOTAL ?> </td>
方案2:修改SQL语句的别名
将查询语句中求和结果的别名改为qty_po,无需修改视图代码即可正常运行:
-- 原SQL SELECT tb_produk.nama_produk,SUM(`qty_po`) AS TOTAL FROM tb_pocust JOIN tb_produk ON tb_pocust.id_produk = tb_produk.id_produk GROUP BY tb_produk.nama_produk -- 修改后SQL SELECT tb_produk.nama_produk,SUM(`qty_po`) AS qty_po FROM tb_pocust JOIN tb_produk ON tb_pocust.id_produk = tb_produk.id_produk GROUP BY tb_produk.nama_produk
注意事项
请确认你的模型文件m_marketing中的rekap()方法,已经正确写入了上述关联查询逻辑,保证返回的结果集字段和视图中调用的字段一致。
内容的提问来源于stack exchange,提问作者sweet tomato
相关产品推荐
相关产品推荐

