iami233
iami233
文章156
标签37
分类4

文章分类

文章归档

ThinkPHP5 实现二级分类功能

ThinkPHP5 实现二级分类功能

简单记录记录一下…

数据库

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
--
-- 表的结构 `sort`
--

CREATE TABLE IF NOT EXISTS `api_sort` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`name` varchar(255) NOT NULL,
`time` varchar(255) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8mb4 AUTO_INCREMENT=1 ;

--
-- 表的结构 `info`
--

CREATE TABLE IF NOT EXISTS `api_info` (
`id` int(10) NOT NULL AUTO_INCREMENT,
`name` varchar(255) NOT NULL,
`sort` int(255) NOT NULL,
`time` varchar(255) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8mb4 AUTO_INCREMENT=1 ;

控制器

1
2
3
4
5
6
7
8
9
10
public function getTree(){
$cateCount = db('sort')->count();
$cates = Db::name('sort')->order('id','desc')->field('id,name')->select();
for($i=0;$i<$cateCount;$i++)
{
$cates[$i]['nr'] = db('info')->where(array('sort'=>$cates[$i]['id']))->field('id,name')->select();
$cates[$i]['count'] = db('info')->where(array('sort'=>$cates[$i]['id']))->count();
}
echo json_encode($cates);
}

返回数据

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
[{
"id": 2,
"name": "分类一",
"nr": [{
"id": 4,
"name": "测试"
}, {
"id": 5,
"name": "测试"
}, {
"id": 6,
"name": "测试"
}],
"count": 3
}, {
"id": 1,
"name": "默认分类",
"nr": [{
"id": 1,
"name": "测试"
}, {
"id": 2,
"name": "测试"
}, {
"id": 3,
"name": "测试"
}],
"count": 3
}]
本文作者:iami233
本文链接:https://5ime.cn/thinkphp-nav.html
版权声明:本文采用 CC BY-NC-SA 3.0 CN 协议进行许可