You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Codeigniter循环查询分类仅返回最后一条ID对应数据如何解决

问题原因

循环中每次对$data['catalog']做直接赋值操作,会覆盖上一次循环写入的内容,全部循环执行完成后变量只会保留最后一次的赋值结果,和SQL查询逻辑无关。

修复方案

先将$data['catalog']初始化为数组,循环中改用追加写入的方式存储每次的查询结果:

// 初始化空数组存储所有分类数据
$data['catalog'] = [];
foreach($category as $cat){
     $cat_id = $cat->id;
     // 追加当前分类的查询结果到数组中
     $data['catalog'][] = $this->homemodel->getCatalog($cat_id);
}

如果需要按分类ID快速索引对应数据,可以用分类ID作为数组键:

$data['catalog'] = [];
foreach($category as $cat){
     $cat_id = $cat->id;
     $data['catalog'][$cat_id] = $this->homemodel->getCatalog($cat_id);
}

内容的提问来源于stack exchange,提问作者Himanshu Singh

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.12 05:51:03