gpt4 book ai didi

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

转载 作者:qq735679552 更新时间:2022-09-29 22:32:09 25 4
gpt4 key购买 nike

CFSDN坚持开源创造价值,我们致力于搭建一个资源共享平台,让每一个IT人在这里找到属于你的精彩世界.

这篇CFSDN的博客文章laravel-admin利用ModelTree实现对分类信息的管理由作者收集整理,如果你对这篇文章有兴趣,记得点赞哟.

生成模型和迁移文件 。

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

app/Models/Shoping/Category.php 。

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
<?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" );
   }
}

迁移文件 。

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
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' );
   }
}

生成控制器 。

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

app/Admin/Controllers/CategoriesController.php 。

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
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 。

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

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

原文链接:https://segmentfault.com/a/1190000021613850 。

最后此篇关于laravel-admin利用ModelTree实现对分类信息的管理的文章就讲到这里了,如果你想了解更多关于laravel-admin利用ModelTree实现对分类信息的管理的内容请搜索CFSDN的文章或继续浏览相关文章,希望大家以后支持我的博客! 。

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com