我有一个简单的文章分类表,主要结构如下
id | 父id | 标题 |
---|---|---|
1 | 0 | 所有项目 |
2 | 1 | PHP |
3 | 1 | Mysql |
4 | 2 | ThinkPHP |
...
诸如此类。应该是很常见的目录结构吧
意思就是所有项目
为一级、PHP
和Mysql
为其二级、ThinkPHP
为PHP
的三级目录这样
那么问题来了,假设我现在只知道id=4
这么一个数据,请问我要如何列出例如所有项目 >> PHP >> ThinkPHP
这样的面包屑导航呢?
当然我知道用循环可以列出来,但总感觉浪费性能。是否有更快捷的方法呢?
没有搜索到类似问题的答案,也许是我关键词用得不够合理。最终无奈提问,先谢过各位不吝赐教
再加一个字段,新增子分类的时候找出所有父级分类生成面包屑。当然这个字段里面存的数据可以灵活存储,不一定要生成固定的面包屑。你可以将其生成数组,josn或者序列化以后存起来,然后取出来之后实时生成面包屑,以应对面包屑灵活生成和改变。
其中最重要的思想是新增子类的时候将其父类数据存起来,也是类似静态缓存的原理。