ホームページ >PHPフレームワーク >Laravel >Laravel管理者は分類ツリー/モデルツリーを実装します

Laravel管理者は分類ツリー/モデルツリーを実装します

Guanhui
Guanhui転載
2020-06-20 18:05:134809ブラウズ

Laravel管理者は分類ツリー/モデルツリーを実装します

モデルの変更 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 = &#39;category&#39;;

 public function __construct(array $attributes = [])
 {
  parent::__construct($attributes);
		//这里根据自己的字段修改
  $this->setParentColumn(&#39;parent_id&#39;);
  $this->setOrderColumn(&#39;sort&#39;);
  $this->setTitleColumn(&#39;name&#39;);
 }
 }

制御ファイルの変更 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 = &#39;商品分类管理&#39;;

 public function index(Content $content)
 {
  return Admin::content(function ($content) {
   $content->header(&#39;商品分类管理&#39;);
   $content->body(Category::tree(function ($tree) {
    $tree->branch(function ($branch) {
     $src = config(&#39;admin.upload.host&#39;) . &#39;/&#39; . $branch[&#39;image&#39;];
     $logo = "<img src=&#39;$src&#39; style=&#39;max-width:30px;max-height:30px&#39; class=&#39;img&#39;/>";

     return "{$branch[&#39;id&#39;]} - {$branch[&#39;name&#39;]} $logo";
    });
   }));
  });
 }
	//下面是自己的代码
	//.......
 }

ルーティング app/Admin/routes.php

$router->resource(&#39;categories&#39;,CategoryController::class);
の追加

select での分類ツリーの使用

$form->select(&#39;parent_id&#39;, __(&#39;Parent id&#39;))->options(Category::selectOptions())->default(1);

推奨チュートリアル: "Laravel チュートリアル "

以上がLaravel管理者は分類ツリー/モデルツリーを実装しますの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はjb51.netで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。