Laravel如何实现无限极分类
发布时间 - 2020-11-16 00:00:00 点击率:次下面由Laravel教程栏目给大家介绍Laravel如何实现无限极分类,希望对需要的朋友有所帮助!
最近开发商品功能,在尝试递归和引用方式后,蓦然回首,突然发现laravel框架有更简单高效的实现方式,无限极分类最佳实践,open code与大家共享!感兴趣的mark一下,谢谢~
表结构如下:
CREATE TABLE `goods_category` ( `id` int(11) unsigned NOT NULL AUTO_INCREMENT COMMENT '主键id', `name` varchar(500) DEFAULT '' COMMENT '分类名称',`pid` int(5) unsigned DEFAULT '0' COMMENT '父级id', `level` tinyint(3) unsigned DEFAULT '1' COMMENT '分类等级', `status` tinyint(3) unsigned DEFAULT '0' COMMENT '分类状态:0-禁用,1-正常', `created_at` timestamp NULL DEFAULT NULL COMMENT '创建时间', `updated_at` timestamp NULL DEFAULT NULL COMMENT '更新时间', PRIMARY KEY (`id`) USING BTREE, KEY `status` (`status`)) ENGINE=InnoDB AUTO_INCREMENT=32 DEFAULT CHARSET=utf8mb4 COMMENT='商品分类表';
数据存储格式:
业务代码:
// 模型文件
public function children() {
return $this->hasMany(get_class($this), 'pid' ,'id');
}
public function allChildren() {
return $this->children()->with( 'allChildren' );
}// 控制器$list = GoodsCategory::with('allChildren')->first();dd($list);处理后数据:
至此,laravel框架无限极分类实现完毕,相比递归和引用实现无限极分类的两种方式,是不是简单高效很多呢,关于更多laravel特性,欢迎评论区留言探讨。
# laravel
# 递归
# 无限极
# 更新时间
# 两种
# 感兴趣
# 给大家
# 商品分类
# 如何实现
# 主键
# 数据存储
相关栏目:
【
网站优化151355 】
【
网络推广146373 】
【
网络技术251813 】
【
AI营销90571 】
相关推荐:
html5怎么画眼睛_HT5用Canvas或SVG画眼球瞳孔加JS控制动态【绘制】
如何在IIS中新建站点并解决端口绑定冲突?
google浏览器怎么清理缓存_谷歌浏览器清除缓存加速详细步骤
独立制作一个网站多少钱,建立网站需要花多少钱?
Laravel如何构建RESTful API_Laravel标准化API接口开发指南
Linux虚拟化技术教程_KVMQEMU虚拟机安装与调优
php后缀怎么变mp4格式错误_修改扩展名提示格式不对怎么办【技巧】
昵图网官网入口 昵图网素材平台官方入口
网站图片在线制作软件,怎么在图片上做链接?
潮流网站制作头像软件下载,适合母子的网名有哪些?
电商网站制作多少钱一个,电子商务公司的网站制作费用计入什么科目?
Laravel N+1查询问题如何解决_Eloquent预加载(Eager Loading)优化数据库查询
如何快速搭建FTP站点实现文件共享?
如何快速查询网站的真实建站时间?
Laravel怎么实现观察者模式Observer_Laravel模型事件监听与解耦开发【指南】
javascript事件捕获机制【深入分析IE和DOM中的事件模型】
CSS3怎么给轮播图加过渡动画_transition加transform实现【技巧】
手机钓鱼网站怎么制作视频,怎样拦截钓鱼网站。怎么办?
Laravel如何集成Inertia.js与Vue/React?(安装配置)
制作无缝贴图网站有哪些,3dmax无缝贴图怎么调?
Laravel如何实现全文搜索_Laravel Scout集成Algolia或Meilisearch教程
,怎么在广州志愿者网站注册?
佛山企业网站制作公司有哪些,沟通100网上服务官网?
Claude怎样写结构化提示词_Claude结构化提示词写法【教程】
JavaScript如何实现继承_有哪些常用方法
Swift中switch语句区间和元组模式匹配
Laravel如何配置和使用缓存?(Redis代码示例)
消息称 OpenAI 正研发的神秘硬件设备或为智能笔,富士康代工
如何在搬瓦工VPS快速搭建网站?
Laravel如何编写单元测试和功能测试?(PHPUnit示例)
如何在沈阳梯子盘古建站优化SEO排名与功能模块?
如何用美橙互联一键搭建多站合一网站?
如何用景安虚拟主机手机版绑定域名建站?
成都品牌网站制作公司,成都营业执照年报网上怎么办理?
如何在阿里云购买域名并搭建网站?
Java垃圾回收器的方法和原理总结
html5如何设置样式_HTML5样式设置方法与CSS应用技巧【教程】
如何在云主机快速搭建网站站点?
历史网站制作软件,华为如何找回被删除的网站?
郑州企业网站制作公司,郑州招聘网站有哪些?
奇安信“盘古石”团队突破 iOS 26.1 提权
Laravel怎么生成URL_Laravel路由命名与URL生成函数详解
如何挑选最适合建站的高性能VPS主机?
Laravel怎么配置.env环境变量_Laravel生产环境敏感数据保护与读取【方法】
Laravel如何生成和使用数据填充?(Seeder和Factory示例)
网站制作壁纸教程视频,电脑壁纸网站?
Laravel如何自定义错误页面(404, 500)?(代码示例)
Laravel如何使用Gate和Policy进行授权?(权限控制)
Laravel软删除怎么实现_Laravel Eloquent SoftDeletes功能使用教程
怎么制作网站设计模板图片,有电商商品详情页面的免费模板素材网站推荐吗?


`pid` int(5) unsigned DEFAULT '0' COMMENT '父级id',
`level` tinyint(3) unsigned DEFAULT '1' COMMENT '分类等级',
`status` tinyint(3) unsigned DEFAULT '0' COMMENT '分类状态:0-禁用,1-正常',
`created_at` timestamp NULL DEFAULT NULL COMMENT '创建时间',
`updated_at` timestamp NULL DEFAULT NULL COMMENT '更新时间',
PRIMARY KEY (`id`) USING BTREE,
KEY `status` (`status`)) ENGINE=InnoDB AUTO_INCREMENT=32 DEFAULT CHARSET=utf8mb4 COMMENT='商品分类表';