php使用mysql查询的问题

发布于 2022-09-07 12:07:35 字数 426 浏览 13 评论 0

ThinkPhp查询如下内容
游戏大区表 game_zone;
表的结构是:
zone_name -- 大区名称
gid -- 游戏ID

想查询到一个返回的json如下的格式:

"1": 
[
    {"name": "电信区", "id": "1"},
    {"name": "网通区", "id": "2"},
],
"2":
[
    {"name": "电信区", "id": "3"},
    {"name": "网通区", "id": "4"},
],

纳闷的是如何查询???使用了动态关联预载入也不想 子查询也是没有办法的 最主要的是:数组的索引是游戏的ID,,,这个又如果做到? 还是说这种格式的数据是利用手动写的,并不是查询出数组转成json的?

帮忙解决的大神 定有奖励哦!!!

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(5

飘过的浮云 2022-09-14 12:07:35

可以考虑一下存储过程 想用一条sql解决不太可能

软甜啾 2022-09-14 12:07:35

先查询一遍,然后把结果循环一遍,把id作为索引。

圈圈圆圆圈圈 2022-09-14 12:07:35

先把数据取出来,然后array_walk处理一下

胡渣熟男 2022-09-14 12:07:35

应该是利用手动写的,查询出来再使用php作处理。

public function test()
{
    $list = Db::name('zone_name')->select();
    $res = [];
    foreach ($list as $k => $v) {
        $res[$v['gid']][] = $v;
    }
    return $res;
}
扭转时空 2022-09-14 12:07:35

为什么数据库查询返回结果一定要符合你的格式要求呢?
这这个本身就是在你代码业务层需要实现的功能啊!

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文