服务器之家

服务器之家 > 正文

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

时间:2021-09-27 11:37     来源/作者:zhiqiang

生成模型和迁移文件

?
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

相关文章

热门资讯

yue是什么意思 网络流行语yue了是什么梗
yue是什么意思 网络流行语yue了是什么梗 2020-10-11
2020微信伤感网名听哭了 让对方看到心疼的伤感网名大全
2020微信伤感网名听哭了 让对方看到心疼的伤感网名大全 2019-12-26
背刺什么意思 网络词语背刺是什么梗
背刺什么意思 网络词语背刺是什么梗 2020-05-22
苹果12mini价格表官网报价 iPhone12mini全版本价格汇总
苹果12mini价格表官网报价 iPhone12mini全版本价格汇总 2020-11-13
2021年耽改剧名单 2021要播出的59部耽改剧列表
2021年耽改剧名单 2021要播出的59部耽改剧列表 2021-03-05
返回顶部