php求助将一,二级分类查询结果拼成想要的json格式

数据库的字段有

id    parentid    categoryname
1        0          一级分类1
2        0          一级分类2
3        0          一级分类3
4        0          一级分类4
5        1          二级分类1-1
6        1          二级分类1-2
7        2          二级分类2-1
8        2          二级分类2-2
9        3          二级分类3-1
10       4          二级分类4-1
……………………

以上,id即数据的id,parentid为父级的id即所属的一级分类,categoryname为分类名称
想拼成以下的格式

[
    {
      "id": 1,                     // id值
      "disabled": false,           // 默认false
      "groupName": "一级分类名称",   // 一级分类名称
      "groupId": 1,                //一级分类id
      "selected": false,           // 默认false
      "name": "二级分类名称"        // 二级分类名称
    },
    {
      "id": 1,
      "disabled": false,
      "groupName": "一级分类名称",
      "groupId": 1,
      "selected": false,
      "name": "二级分类名称"
    }
    // more ...
]

主要是那个groupName不知道啊怎么弄最简洁……,十分感谢

胡子哥哥
浏览 532回答 2
2回答

江户川乱折腾

不是特别明白 你想要的json格式, 按照我理解的意思 随手写了一段,并没有测试 $res = $db->table('cate')->where('parentid =0')->select(); $array=array(); foreach ($res as $key =>$val){ $cate = $db->table('cate')->where('parentid ='.$val['id'])->select(); $array[$key]['id']=$cate['id']; $array[$key]['disabled']=false; $array[$key]['groupName']=$val['categoryname']; $array[$key]['groupId']=$val['id']; $array[$key]['selected']=false; $array[$key]['name']=$cate['categoryname']; } echo json_encode($array);exit;

FFIVE

$arr = [ ['id'=>1,'parentid'=>0,'categoryname'=>'一级分类1'], ['id'=>2,'parentid'=>0,'categoryname'=>'一级分类2'], ['id'=>3,'parentid'=>0,'categoryname'=>'一级分类3'], ['id'=>4,'parentid'=>0,'categoryname'=>'一级分类4'], ['id'=>5,'parentid'=>1,'categoryname'=>'一级分类1-1'], ['id'=>6,'parentid'=>1,'categoryname'=>'一级分类1-2'], ['id'=>7,'parentid'=>2,'categoryname'=>'一级分类2-1'], ['id'=>8,'parentid'=>2,'categoryname'=>'一级分类2-2'], ['id'=>9,'parentid'=>3,'categoryname'=>'一级分类3-1'], ['id'=>10,'parentid'=>4,'categoryname'=>'一级分类4-1'], ]; $a = $b = $c = [];foreach($arr as $k=>&$v){ if($v['parentid'] === 0) { $a[$k]['parentid'] = $v['categoryname']; }elseif($v['parentid'] === 1){ $b[$k]['parentid'] = $v['categoryname']; }else{ $c[$k]['parentid'] = $v['categoryname']; } }
打开App,查看更多内容
随时随地看视频慕课网APP