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

时间:2022-10-15 16:44:21

修改模型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
<?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 = 'category';
 
 public function __construct(array $attributes = [])
 {
  parent::__construct($attributes);
        //这里根据自己的字段修改
  $this->setParentColumn('parent_id');
  $this->setOrderColumn('sort');
  $this->setTitleColumn('name');
 }
 }

修改控制文件CategoryController.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
<?php
 
namespace App\Admin\Controllers;
 
use App\Admin\Models\Category;
use Encore\Admin\Controllers\AdminController;
use Encore\Admin\Facades\Admin;
use Encore\Admin\Layout\Content;
use Encore\Admin\Show;
 
class CategoryController extends AdminController
{
 /**
  * Title for current resource.
  *
  * @var string
  */
 protected $title = '商品分类管理';
 
 public function index(Content $content)
 {
  return Admin::content(function ($content) {
   $content->header('商品分类管理');
   $content->body(Category::tree(function ($tree) {
    $tree->branch(function ($branch) {
     $src = config('admin.upload.host') . '/' . $branch['image'];
     $logo = "<img src='$src' style='max-width:30px;max-height:30px' class='img'/>";
 
     return "{$branch['id']} - {$branch['name']} $logo";
    });
   }));
  });
 }
    //下面是自己的代码
    //.......
 }

添加路由app/Admin/routes.php

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

select中使用分类树

?
1
$form->select('parent_id', __('Parent id'))->options(Category::selectOptions())->default(1);

总结

到此这篇关于laravel admin实现分类树/模型树的示例代码的文章就介绍到这了,更多相关laravel admin 分类树 模型树内容请搜索服务器之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持服务器之家!

原文链接:https://blog.csdn.net/xiayu204575/article/details/106611545