laravel-admin利用ModelTree实现对分类信息的管理

生成模型和迁移文件

php artisan make:model Models/Shoping/Category -m

app/Models/Shoping/Category.php

<?php

namespace App\Models\Shoping;

use Encore\Admin\Traits\AdminBuilder;
use Encore\Admin\Traits\ModelTree;
use Illuminate\Database\Eloquent\Model;

/**
 *
 * Class Category
 * @package App\Models\Shoping
 */

class Category extends Model
{
  //
  use ModelTree, AdminBuilder;
  protected $table="shoping_categories";
  public function __construct(array $attributes = [])
  {
    parent::__construct($attributes);
    $this->setTitleColumn("name");
  }
}

迁移文件

class CreateCategoriesTable extends Migration
{
  /**
   * Run the migrations.
   *
   * @return void
   */
  public function up()
  {
    Schema::create('shoping_categories', function (Blueprint $table) {
      $table->increments('id');
      $table->integer('parent_id')->unsigned()->nullable();
      $table->string('name');
      $table->string('description')->nullable();
      $table->integer('order')->unsigned();
      $table->timestamps();
    });
  }

  /**
   * Reverse the migrations.
   *
   * @return void
   */
  public function down()
  {
    Schema::dropIfExists('shoping_categories');
  }
}

生成控制器

php artisan admin:make CategoriesController --model=App\Models\Shoping\Category

app/Admin/Controllers/CategoriesController.php

use App\Models\Shoping\Category;
use Encore\Admin\Controllers\AdminController;
use Encore\Admin\Form;
use Encore\Admin\Grid;
use Encore\Admin\Layout\Column;
use Encore\Admin\Layout\Content;
use Encore\Admin\Layout\Row;
use Encore\Admin\Show;
use Encore\Admin\Tree;
use Encore\Admin\Widgets\Box;

class CategoriesController extends AdminController
{

  public function index(Content $content)
  {
    return $content->title($this->title)
      ->description("分类列表")
      ->row(function (Row $row) {
        $row->column(6, $this->treeView()->render());
        $row->column(6, function (Column $column) {
          $form = new Form();
          $form->select('parent_id', "父类名称")->options(Category::selectOptions());
          $form->text('name', __('Name'));
          $form->text('description', __('Description'));
          $form->number('order', '排序序号')->default(0);
          $column->append((new Box(trans('admin.new'), $form))->style('success'));
        });

      });

  }

  protected function treeView()
  {
    return Category::tree(function (Tree $tree) {
      $tree->disableCreate();
      return $tree;
    });
  }

添加路由

app/admin/routes.php

$router->resource('categories',CategoryController::class);

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。

(0)

相关推荐

  • laravel-admin 管理平台获取当前登陆用户信息的例子

    在上面添加下面的代码: use Illuminate\Support\Facades\Auth; 在需要用到的地方添加下面的代码 Auth::guard('admin')->user(); //得到的是一个对象 也可以是 Auth::guard('admin')->user()->toArray(); //得到的一个用户信息的数组 以上这篇laravel-admin 管理平台获取当前登陆用户信息的例子就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们.

  • laravel-admin利用ModelTree实现对分类信息的管理

    生成模型和迁移文件 php artisan make:model Models/Shoping/Category -m app/Models/Shoping/Category.php <?php namespace App\Models\Shoping; use Encore\Admin\Traits\AdminBuilder; use Encore\Admin\Traits\ModelTree; use Illuminate\Database\Eloquent\Model; /** * * C

  • laravel admin实现分类树/模型树的示例代码

    修改模型Category.php <?php namespace App\Admin\Models; use Encore\Admin\Traits\AdminBuilder; use Encore\Admin\Traits\ModelTree; use Illuminate\Database\Eloquent\Model; class Category extends Model { use ModelTree, AdminBuilder; protected $table = 'catego

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

    目录 概述 数据库迁移 Eloquent 模型和关联关系 路由和控制器方法 视图和递归子视图 概述 我们会创建一个微型项目来展示儿童商店的分类,总共有 5 级,如下: 数据库迁移 简单的数据表结构: Schema::create('categories', function (Blueprint $table) { $table->bigIncrements('id'); $table->string('name'); $table->unsignedBigInteger('catego

  • 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 Illuminat

  • Django利用cookie保存用户登录信息的简单实现方法

    本文实例讲述了Django利用cookie保存用户登录信息的方法.分享给大家供大家参考,具体如下: 设置cookie response对象.set_cookie('key','value',多少秒后过期) 获取cookie request对象.COOKIES.get('key') 我们继续前一篇的代码 def hi(request): msg = {'result':''} loginSuccess = False # 是否登录成功标识 if user.userLogin(request.POS

  • Laravel框架使用monolog_mysql实现将系统日志信息保存到mysql数据库的方法

    本文实例讲述了Laravel框架使用monolog_mysql实现将系统日志信息保存到mysql数据库的方法.分享给大家供大家参考,具体如下: Laravel中使用monolog_mysql将系统日志信息保存到mysql数据库 源码参考: https://github.com/markhilton/monolog-mysql 一.安装Installation 在文件根目录: composer require markhilton/monolog-mysql 发现composer.json文件里的

  • 如何利用python正则表达式匹配版本信息

    问题描述: 用正则表达式提取文本中的版本号信息,比如说:10.1.1 9.5 10.10.11 并实现在文本中(.txt)读入,写出到文本(.txt) 首先构造正则表达式: pattern=Vpat="I.(I.)*I" 构造正则表达式:r'\d+\.(?:\d+\.)*\d+' import re pattern = r'\d+\.(?:\d+\.)*\d+' f=open("F:\\xxxxxx\\banners.txt","r") data

  • c#中利用Tu Share获取股票交易信息

    一.什么是Tu Share Tushare是一个免费.开源的python财经数据接口包.主要实现对股票等金融数据从数据采集.清洗加工到数据存储的过程,用户可以免费(部分数据的下载有积分限制)的通过它提供的财经接口获取股票交易.期货等财经信息,功能非常强大.该接口和直接到各财经网站爬数据相比,最大的优势就是快,去传统财经网站爬数据,好多关键性的股票信息只能一只股一只股爬,而Tu Share的API,一个调用可以获得一天的全部数据,速度差了好几个数量级.另外一方面各财经网站的接口的API没有对外文档

  • 利用java实现一个客户信息管理系统

    用博客记录我自学的点点滴滴 类图: Customer类: public class Customer { /** * @name 客户姓名 * @sex 性别 * @age 年龄 * @phone 电话号码 * @email 邮箱 */ private String name; private String sex; private int age; private String phone; private String email; public Customer(){}; public C

  • Python如何利用正则表达式爬取网页信息及图片

    一.正则表达式是什么? 概念: 正则表达式是对字符串操作的一种逻辑公式,就是用事先定义好的一些特定字符.及这些特定字符的组合,组成一个"规则字符串",这个"规则字符串"用来表达对字符串的一种过滤逻辑. 正则表达式是一个特殊的字符序列,它能帮助你方便的检查一个字符串是否与某种模式匹配. 个人理解: 简单来说就是使用正则表达式来写一个过滤器来过滤了掉杂乱的无用的信息(eg:网页源代码-)从中来获取自己想要的内容 二.实战项目 1.爬取内容 获取上海所有三甲医院的名称并保

随机推荐