交流群:462197261站长百科站长论坛热门标签收藏本站北冥有鱼 互联网前沿资源第一站 助力全行业互联网+
点击这里给我发消息
  • 当前位置:
  • 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);
    
    

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


    广而告之:
    热门推荐:
    搜索引擎排名是根据网站高质量和信任度来进行排名

    许多网站已经运行了很长一段时间,但在搜索引擎中仍然无法取得良好的性能。原因是网站优化的关键点还没有找到。那么,在网站排名优化过程中,我们应该如何把握总体方向呢?直接营销的网络可以概括为以下三点:域权限基本上是指网络世界中是否存在指向您的外部链接。如果有,百···

    在字符串指定位置插入一段字符串的php代码

    复制代码 代码如下: //插入一段字符串 function str_insert($str, $i, $substr) { for($j=0; $j<$i; $j++){ $startstr .= $str[$j]; } for ($j=$i; $j<strlen($str); $j++){ $laststr .= $str[$j]; } $str = ($startstr . $substr . $laststr); return $str; } Po···

    vue2.0 父组件给子组件传递数据的方法

    在父组件 App.vue 中引用子组件 A.vue,把 name 的值传给 A 组件。 1、安装 在桌面新建一个文件夹 $ cd 到文件中 $ npm install -g vue-cli $ vue init webpack . $ npm install $ npm run dev vue init webpack . 之后的选择解释 2、删除 1、删除App中的一些内容如下 2、删···

    B/S(Web)实时通讯解决方案分享

    B/S的实时通讯实现起来比较麻烦,因为http协议是无状态的,导致一些实时消息通知和聊天等功能比较难以实现,本文主要简述几种自己之前常用的几种方式。 1、传统的HTTP协议是无状态的 传统的HTTP协议是无状态的,每次请求(request)都要由客户端(如 浏览器)主动发起,服务端···

    54个提高PHP程序运行效率的方法

    1.在可以用file_get_contents替代file、fopen、feof、fgets等系列方法的情况下,尽量用 file_get_contents,因为他的效率高得多!但是要注意file_get_contents在打开一个URL文件时候的PHP版本问题; 2.尽量的少进行文件操作,虽然PHP的文件操作效率也不低的; 3.优化Select SQL语···

    php

    php

    开始之前,首先要澄清两个问题:第一,支持开源,不等于反对代码加密;第二,如果把不属于自己的东西(比如公司的)拿去开源,就更加不应该了。 以前知道的,PHP代码的加密都是用Zend的encoder,这东西不但是商业软件,好像还暴出过能够被破解的问题,所以就找到了替代的···

    javascript实现瀑布流动态加载图片原理

    本文实例为大家分享了js瀑布流加载效果,动态加载图片,供大家参考,具体内容如下 鼠标滚动事件,当鼠标滚动到下边,动态加载图片。 1. HTML代码     <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>···

    记录Yii2框架开发微信公众号遇到的问题及解决方法

    微信公众号开发,提示“该公众号暂时无法提供服务,请稍后再试”,如何解决? 以前使用Yii框架的时候,并没有像Yii2,以前的Yii框架似乎用起来在安全方面不如Yii2,后面在用Yii2的时候发现了一个有趣的事情。 以前在用Yii框架做微信方面的开发的时候,开发模式需要添加对应的接口···

    运用JQuery的toggle实现网页加载完成自动弹窗

    toggle()事件 它主要切换元素的可见状态。 1、toggle(switch) ①switch是一个可选值,如果不填则原来元素是显示则将其隐藏,如果是隐藏则显示。 HTML 代码: 复制代码 代码如下: <p>Hello</p><p style="display: none">Hello Again</p> jQuer···

    jQuery的animate函数学习记录

    很久之前就对jQuery animate的实现非常感兴趣,不过前段时间很忙,直到前几天端午假期才有时间去研究。 jQuery.animate的每种动画过渡效果都是通过easing函数实现的。jQuery1.4.2中就预置了两个这样的函数: easing: { linear: function( p, n, firstNum, diff ) { return fir···