php使用mysql查询的问题

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

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

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

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

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

阅读 3.2k
5 个回答

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

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

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

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

public function test()
{
    $list = Db::name('zone_name')->select();
    $res = [];
    foreach ($list as $k => $v) {
        $res[$v['gid']][] = $v;
    }
    return $res;
}

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

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题