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

2025-05-29 0 22

生成模型和迁移文件

?

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);

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

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

收藏 (0) 打赏

感谢您的支持,我会继续努力的!

打开微信/支付宝扫一扫,即可进行扫码打赏哦,分享从这里开始,精彩与您同在
点赞 (0)

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。

快网idc优惠网 建站教程 laravel-admin利用ModelTree实现对分类信息的管理 https://www.kuaiidc.com/90925.html

相关文章

发表评论
暂无评论