如何使用Laravel Eloquent来开发无限极分类

admin3年前PHP教程29
概述

我们会创建一个微型项目来展示儿童商店的分类,总共有 5 级,如下:

数据库迁移

简单的数据表结构:

只有一个 name 字段, 关联到其自身。所以,大部分父级分类 category_id = null,每一个子分类都有一个 parent_id

数据表数据如下:

eloquent 模型和关联关系

首先,在 app/category.php 创建一个简单的 hasmany() 方法, 分类可能拥有其自分类:

好戏开场 本文最妙 “计策”。你知道可以向这样描述 递归 关系吗?如下:

因此,如果调用 category::with(‘categories'),将得到下级 “子分类”,但是通过 category::with(‘childrencategories') 将能帮你实现无限极。

路由和控制器方法

现在,让我们尝试显示所有类别和子类别,如上例所示。

在 routes/web.php,我们添加以下内容:

app/http/categorycontroller.php 如下所示:

我们仅加载父类别,将子类别作为关系。简单吧?

视图和递归子视图

最后,渲染到页面。 在 resources/views/categories.blade.php 文件:

我们先遍历了最顶级的父类别,然后遍历出父类的子类别,然后使用 @include 加载子类别的子类别......

最好的部分是 resources/views/admin/child_category.blade.php 将使用递归加载自身。看代码:

在 child_category.blade.php 内部,我们包含了 @include(‘child_category'),因此只要当前子类别中有类别,模板就会递归地加载子类别。

就是这样!我们拥有无限级别的子类别 - 无论是在数据库还是关联关系或是视图中

以上就是如何使用laravel eloquent来开发无限极分类的详细内容,更多关于使用laravel eloquent来开发无限极分类的资料请关注其它相关文章!

免责声明:本文内容来自用户上传并发布,站点仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。请核实广告和内容真实性,谨慎使用。

相关文章

美国高防服务器租用选择的方法

美国高防服务器租用选择的方法?选择适合的美国高防服务器租用服务商需要考虑以下几个因素:信誉度和口碑:选择口碑良好、信誉度高的服务商,可以避免一些不必要的风险和麻烦。可以通过查看客户评价、咨询其他用户等...

GPU服务器的应用领域有哪些韩国显卡服务器的用途有

众所周知,GPU是图形处理器,在很多任务中,GPU占据着重要作用,如深度学习领域。为增进大家对GPU的了解,本文将对GPU服务器的应用领域加以介绍。GPU服务器,简单来说,GPU服务器是基于GPU的应...

新加坡多ip服务器和新加坡服务器的区别及好处

新加坡多IP服务器和新加坡服务器的区别在于,新加坡多IP服务器提供多个IP地址,而新加坡服务器只提供一个IP地址。以下是新加坡多IP服务器和新加坡服务器的好处:新加坡多IP服务器的好处:提高网站的可用...

gpu服务器有哪些分类呢租用美国GPU服务器配置和报价有哪些

gpu服务器有哪些分类呢?gpu擅长处理大规模深度合作学习能力训练方法以及其他部分典型Hpc任务。经常有朋友在咨询公司如何有效配置可以用于深度学习或计算加速的gpu服务器,今天我们就来看看吧!gpu服...

影响韩国多IP服务器租用的因素有哪些租用韩国多IP服务器地址是多少

影响韩国多IP服务器租用的因素很多,以下是一些常见的影响因素:成本:韩国多IP服务器的租用价格通常比单个IP服务器更高,因此成本可能成为租用决策的关键因素。需求:需要运行的应用程序和服务数量、流量大小...

详解PHP的7个预定义接口

目录1. Traversable(遍历)接口2. Iterator(迭代器)接口3. IteratorAggregate(聚合迭代器) 接口4.ArrayAccess(数组式访问)接口5. Seria...