Codeigniter 4查询热门城市结果如何在视图页按指定格式输出
CodeIgniter 4 城市统计数据视图输出实现方案
第一步:优化查询并在控制器中处理数据
首先给统计字段设置别名,避免后续取值出错,完整控制器逻辑如下:
// 初始化数据库连接 $db = \Config\Database::connect(); // 查询语句新增total别名 $query = $db->query('SELECT city, COUNT(*) as total FROM events GROUP BY city HAVING COUNT(*) > 1 ORDER BY city ASC'); // 获取结果集并传给视图 $data['city_list'] = $query->getResult(); return view('你的视图文件名', $data);
如果习惯用数组格式操作结果,可将getResult()替换为getResultArray()。
第二步:视图中循环输出数据
直接用foreach遍历结果集即可,无需编写while循环:
<ol> <?php foreach ($city_list as $item): ?> <!-- 对象格式取值写法,用getResultArray的话改为$item['city']和$item['total'] --> <li><?= esc($item->city) ?> = <?= $item->total ?></li> <?php endforeach; ?> </ol>
之前循环报错的常见原因
- 没有调用CI4结果集获取方法(
getResult()/getResultArray()),直接遍历查询对象会报错 - 未给
COUNT(*)设置别名,取值时需要写$item->{'COUNT(*)'}的特殊语法,容易出现语法错误
内容的提问来源于stack exchange,提问作者buğracan
相关产品推荐
相关产品推荐

