修改模型Category.php
<?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
<?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
$router->resource('categories',CategoryController::class);
select中使用分類樹
$form->select('parent_id', __('Parent id'))->options(Category::selectOptions())->default(1);
推薦教學:《Laravel教學》
以上是Laravel admin 實作分類樹/模型樹的詳細內容。更多資訊請關注PHP中文網其他相關文章!