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功能使用教程  怎么制作网站设计模板图片,有电商商品详情页面的免费模板素材网站推荐吗?