无限级分类数据表设计
- 无限级分类的数据表设计用哪种方式设计更合适点呢?
- 一级一个表(如果已经确定了分类级别不是很多,如5级,用这种方式合适吗)
- 只用一个表,在表中设置一个
parent_id
来找到自己的上一级(但是感觉这种方式也不是很适合层级多的,感觉三级以上的话就会很麻烦)
- 所以到底怎么设计才合适呢?
- 求指教下
可以用将所有上级信息存储到一个字段,以这样的形式存储
具体可以参考这个 L06 Laravel 教程 - 电商进阶 ( Laravel 6.x ) - 商品类目设计
@Marrigan 嗯嗯,好的,谢谢您
其实只要转换个思路就行。用parent_id没问题。但不要反复执行多个sql,而是一次性读取出来,内存循环组装。思路是这样,你慢慢探索吧。
@star7th 嗯嗯,行,我再琢磨琢磨啊 :joy:
使用一张表 parent_id 来处理吧!内存组装函数可参考 博客:分享一个无限极分类的函数
@wuyan 嗯嗯,好的,我研究研究啊
可以看看这个包 betterde/tree 无限极数据放一个表,然后全部查出来再用这个包生成:
左右值?
分享:Laravel 使用 Laravel-nestedset 实现无限分类
这种分类不就是一对多的关系吗? 模型中加一个hasMany的关联方法不就行啦
可以看看这种存储结构呀,读取的花销会小很多,相应存储的花销会大很多。
左右值无限分类就挺好
我之前的使用Laravel-nestedset的方式弃用了,不是nestedset 不好,而是开发到后面需要开API。
既然要开api,tree为什么要放在服务器上去计算?
现在的方案是 id name pid的 形式存储的! tree的话 直接开个api 都不用排序,前端就能很好的处理成tree。 例子:whvse.gitee.io/treetable-lay/demo/
github.com/jiaxincui/closure-table laravel树形结构管理解决方案,最少的数据库查询。
刚做完无限极分类,可以参考一下 博客:Laravel 框架实现无限极分类