laravel 5.4中实现无限级分类的方法示例

前言

本文主要给大家介绍的是关于laravel 5.4中实现无限级分类的相关内容,分享出来供有需要的朋友们参考学习,下面话不多说,来一起看看详细的介绍吧。

方法如下:

1、建立表

php artisan make:migration create_category_table --create=category

在database/migrations/下找到你的迁移文件

建入:

<?php use Illuminate\Support\Facades\Schema; use Illuminate\Database\Schema\Blueprint; use Illuminate\Database\Migrations\Migration; class CreateCategoryTable extends Migration { /** * Run the migrations. * * @return void */ public function up() { Schema::create('categorys', function (Blueprint $table) { $table->increments('id'); $table->integer('parent_id'); $table->string('code'); $table->string('name'); $table->string('path'); $table->timestamps(); }); } /** * Reverse the migrations. * * @return void */ public function down() { Schema::dropIfExists('categorys'); } } php artisan migrate

2、建Model 在app/Category.php

php artisan make: model Category -m <?php namespace App; use Illuminate\Database\Eloquent\Model; class Category extends Model { public function childCategory() { return $this->hasMany('App\Category', 'parent_id', 'id'); } public function allChildrenCategorys() { return $this->childCategory()->with('allChildrenCategorys'); } }

3、调用

$categorys = App/Category::with('allChildrenCategorys')->first();

$categorys->allChildrenCategorys;

$categorys->allChildrenCategorys->first()->allChildrenCategorys;

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者使用laravel能带来一定的帮助,如果有疑问大家可以留言交流,谢谢大家对脚本之家的支持。

时间: 2024-10-28 17:20:59

laravel 5.4中实现无限级分类的方法示例的相关文章

ThinkPHP自动填充实现无限级分类的方法_php实例

本文实例展示了ThinkPHP自动填充实现无限级分类的方法,是ThinkPHP常用功能之一,非常具有实用价值.现将完整实例分享给大家,供大家参考.具体实现步骤如下: 表aoli_cate如下图所示: 一.action部分: aoli/Home/Lib/Action/CataAction.class.php文件如下: <?php class CateAction extends Action{ function index(){ $cate=M('cate'); $list=$cate->fie

php无限级分类实现方法分析_php技巧

本文实例讲述了php无限级分类实现方法.分享给大家供大家参考,具体如下: 1. 递归 public function getInfo(){ $data=$this->select(); $arr=$this->noLimit($data,$f_id=0,$level=0); return $arr; } //无限极分类 public function noLimit($data,$f_id=0,$level=0){ static $lists=array(); foreach($data as

PHP简单实现无限级分类的方法_php技巧

本文实例讲述了PHP简单实现无限级分类的方法.分享给大家供大家参考,具体如下: 数据库结构: CREATE TABLE IF NOT EXISTS `city` ( `id` int(11) NOT NULL auto_increment, `name` varchar(30) character set utf8 collate utf8_unicode_ci NOT NULL default '0', `parentId` int(11) NOT NULL default '0' PRIMA

JavaScript中常用的六种互动方法示例

 这篇文章主要介绍了JavaScript中常用的六种互动方法示例,是个人的一些经验总结,这里分享给大家,希望对大家能够有所帮助.     1.confirm消息对话框 语法:confirm("str"); 参数说明:str为对话框中要显示的文本, 作用:通常用于提醒用户做出某些选择,其返回值为布尔类型,点击确定返回值为ture,点击取消返回值为false 例如:   代码如下: <script type="text/javascript"> var my

ASP.NET MVC4中使用Html.DropDownListFor的方法示例_实用技巧

本文实例讲述了ASP.NET MVC4中使用Html.DropDownListFor的方法.分享给大家供大家参考,具体如下: 一.控制器部分: public ActionResult PageDetail() { var thisList = _sysDepartmentBll.GetAllDepartmentList();//数据源 //添加一条默认数据 var resultList = new List<SelectListItem> { new SelectListItem {Text

asp实现无限级分类的方法js版_ASP基础

MenuArr=new Array()MenuLenArr=new Array()SubMenuArr=new Array()MenuIdArr=new Array()MenuArr[1]="<%call top11%>" //洲名|||...MenuArr[2]="<%call top1%>" //洲名###国名|||...MenuIdArr[1]="zhou"MenuIdArr[2]="author"

asp实现无限级分类的方法js版

MenuArr=new Array() MenuLenArr=new Array() SubMenuArr=new Array() MenuIdArr=new Array() MenuArr[1]="<%call top11%>" //洲名|||... MenuArr[2]="<%call top1%>" //洲名###国名|||... MenuIdArr[1]="zhou" MenuIdArr[2]="auth

C/C++中获取数组长度的方法示例_C 语言

学过C/C++的人都知道,在C/C++中并没有提供直接获取数组长度的函数,对于存放字符串的字符数组提供了一个strlen函数获取其长度,那么对于其他类型的数组如何获取他们的长度呢? 其中一种方法是使用sizeof(array) / sizeof(array[0]), 在C语言中习惯上在使用时都把它定义成一个宏,比如: #define GET_ARRAY_LEN(array,len) {len = (sizeof(array) / sizeof(array[0]));} 而在C++中则可以使用模板

JavaScript中常用的六种互动方法示例_javascript技巧

1.confirm消息对话框 语法:confirm("str"); 参数说明:str为对话框中要显示的文本, 作用:通常用于提醒用户做出某些选择,其返回值为布尔类型,点击确定返回值为ture,点击取消返回值为false 例如: 复制代码 代码如下: <script type="text/javascript">     var mymessage=confirm("你喜欢JavaScript吗?");     if(mymessage