网页标准化设计使用的优势
- 时间:
- 地点:
2023最新开源城市站群cms系统【万站巅云站群CMS系统源码程序】
精美大气网络公司网站模板,网络公司网站源码,专业网络公司网页设计
西部数码代理平台模板 -西部数码代理价格自动获取
最新一键建站系统源码,saas建站系统源码,自助建站整站源码,站长源码,自助建站系统源码,源码搭建教程,开源自助建站系统,php智能建站系统,可视化网站框架源码
最新首发自助建站系统源码,傻瓜式一键建站系统源码,高度开源支持专业在线自助建站服务平台搭建
巅云拖拽式VUE前端框架4.0,可视化拖拽编辑器,实现了h5可视化拖拽生成工具,前端大屏布局,组件化模板机制
我们会创建一个微型项目来展示儿童商店的分类,总共有 5 级,如下:
简单的数据表结构:
Schema::create("categories", function (Blueprint $table) { $table->bigIncrements("id"); $table->string("name"); $table->unsignedBigInteger("category_id")->nullable(); $table->foreign("category_id")->references("id")->on("categories"); $table->timestamps(); });
只有一个 name 字段, 关联到其自身。所以,大部分父级分类 category_id = NULL,每一个子分类都有一个 parent_id
数据表数据如下:
首先,在 app/Category.php 创建一个简单的 hasMany() 方法, 分类可能拥有其自分类:
class Category extends Model { public function categories() { return $this->hasMany(Category::class); } }
好戏开场 本文最妙 “计策”。你知道可以向这样描述 递归 关系吗?如下:
public function childrenCategories() { return $this->hasMany(Category::class)->with("categories"); }
因此,如果调用 Category::with(‘categories"),将得到下级 “子分类”,但是通过 Category::with(‘childrenCategories") 将能帮你实现无限极。
现在,让我们尝试显示所有类别和子类别,如上例所示。
在 routes/web.php,我们添加以下内容:
Route::get("categories", "CategoryController@index");
app/Http/CategoryController.php 如下所示:
public function index() { $categories = Category::whereNull("category_id") ->with("childrenCategories") ->get(); return view("categories", compact("categories")); }
我们仅加载父类别,将子类别作为关系。简单吧?
最后,渲染到页面。 在 resources/views/categories.blade.php 文件:
我们先遍历了最顶级的父类别,然后遍历出父类的子类别,然后使用 @include 加载子类别的子类别......
最好的部分是 resources/views/admin/child_category.blade.php 将使用递归加载自身。看代码:
在 child_category.blade.php 内部,我们包含了 @include(‘child_category"),因此只要当前子类别中有类别,模板就会递归地加载子类别。
就是这样!我们拥有无限级别的子类别 - 无论是在数据库还是关联关系或是视图中
以上就是如何使用Laravel Eloquent来开发无限极分类的详细内容,更多关于使用Laravel Eloquent来开发无限极分类的资料请关注IT博客社区其它相关文章!
notmore
联系我们
合作或咨询可通过如下方式:
QQ/微信:123456
网址:www.xxxx.cn
微信公众号:车展门票
关于本站
Copyright 车展网 www.xxxx.cn Reserved渝ICP备xxxxxxxx号
关注我们