国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

laravel-admin利用ModelTree實(shí)現(xiàn)對(duì)分類信息的管理

olle / 1612人閱讀

摘要:根據(jù)的基本操作步驟依次完成如下操作主要是參考內(nèi)置的菜單管理的功能,利用實(shí)現(xiàn)業(yè)務(wù)中的數(shù)據(jù)管理。

根據(jù)laravel的基本操作步驟依次完成如下操作:
主要是參考laravel-admin內(nèi)置的Menu菜單管理的功能,利用ModelTree實(shí)現(xiàn)業(yè)務(wù)中的Tree數(shù)據(jù)管理。

1. 創(chuàng)建模型
    php artisan make:model Models/Category
2. 創(chuàng)建遷移文件
    php artisan make:migration create_categories_table
3. 創(chuàng)建填充文件
    php artisan make:seeder CategoriesSeeder
4. 創(chuàng)建后端控制器
    php artisan admin:make CategoryController --model=AppModelsCategory
5. 創(chuàng)建后端路由
    app/admin/routes.php : $router->resource("/web/categories",CategoryController::class);
6. 添加后端菜單
    /web/categories:菜單路徑
7. 其他定義及編輯定制
定義Model文件Category.php
namespace AppModels;

use EncoreAdminTraitsAdminBuilder;
use EncoreAdminTraitsModelTree;
use IlluminateDatabaseEloquentModel;

class Category extends Model
{
    use ModelTree, AdminBuilder;
    //
    protected $fillable = ["name","description","order","parent_id"];

    public function __construct(array $attributes = [])
    {
        parent::__construct($attributes);

        $this->setParentColumn("parent_id");
        $this->setOrderColumn("order");
        $this->setTitleColumn("name");
    }
}
定義遷移
class CreateCategoriesTable extends Migration
{
    /**
     * Run the migrations.
     *
     * @return void
     */
    public function up()
    {
        Schema::create("categories", function (Blueprint $table) {
            $table->increments("id");
            $table->string("name");
            $table->string("description")->nullable();
            $table->integer("order")->unsigned();
            $table->integer("parent_id")->unsigned()->nullable();
            $table->timestamps();
        });
    }

    /**
     * Reverse the migrations.
     *
     * @return void
     */
    public function down()
    {
        Schema::dropIfExists("categories");
    }
}
填充文件
class CategoriesSeeder extends Seeder
{
    /**
     * Run the database seeds.
     *
     * @return void
     */
    public function run()
    {
        //
        DB::table("categories")->delete();
        for($i = 0; $i < 3; $i++ ){
            DB::table("categories")->insert(
                [
                    "name" => "CAT".$i,
                    "description" => "desc_".$i,
                    "order" => $i,
                    "parent_id" => null
                ]
            );
        }

    }
}
定義控制器
header($this->header);
            $content->description("類型列表");

            $content->row(function (Row $row) {

                $row->column(6, $this->treeView()->render());

                $row->column(6, function (Column $column) {
                    $form = new EncoreAdminWidgetsForm();
                    $form->action(admin_base_path("/web/categories"));


                    $form->text("name","類型名稱");
                    $form->textarea("description","類型描述信息");
                    $form->number("order","排序序號(hào)");
                    $form->select("parent_id","父類名稱")->options(Category::selectOptions());
                    
                    $form->hidden("_token")->default(csrf_token());

                    $column->append((new Box(trans("admin.new"), $form))->style("success"));
                });
            });



        });
    }


    protected function treeView()
    {
        return Category::tree(function (Tree $tree) {
            $tree->disableCreate();
            return $tree;
        });
    }
    

    /**
     * Edit interface.
     *
     * @param $id
     * @return Content
     */
    public function edit($id)
    {
        return Admin::content(function (Content $content) use ($id) {

            $content->header($this->header);
            $content->description("編輯類型");

            $content->body($this->form()->edit($id));
        });
    }

    /**
     * Create interface.
     *
     * @return Content
     */
    public function create()
    {
        return Admin::content(function (Content $content) {

            $content->header($this->header);
            $content->description("添加類型");

            $content->body($this->form());
        });
    }


    /**
     * Make a form builder.
     *
     * @return Form
     */
    protected function form()
    {
        return Admin::form(Category::class, function (Form $form) {

            $form->display("id", "ID");

            $form->text("name","類型名稱");
            $form->textarea("description","類型描述信息");
            $form->number("order","排序序號(hào)");
            $form->select("parent_id","父類名稱")->options(Category::selectOptions());


        });
    }


    public function getCategoryOptions()
    {
        return DB::table("categories")->select("id","name as text")->get();
    }
}
添加路由
$router->resource("/web/categories",CategoryController::class);
添加后臺(tái)菜單

具體操作略

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://specialneedsforspecialkids.com/yun/28793.html

相關(guān)文章

  • laravel-admin 文件上傳OSS

    摘要:前言因?yàn)轫?xiàng)目需求,需要把圖片上傳至阿里云,我的接口和后臺(tái)項(xiàng)目是分開的,都使用的框架開發(fā),接入這里就不做討論了,這里主要說一下上傳阿里的問題。 前言 因?yàn)轫?xiàng)目需求,需要把圖片上傳至阿里云 OSS,我的 Api 接口和后臺(tái)項(xiàng)目是分開的,都使用的 laravel 框架開發(fā),Api 接入 OSS 這里就不做討論了,這里主要說一下 laravel-admin 上傳阿里 OSS 的問題。 網(wǎng)上的一...

    darkbaby123 評(píng)論0 收藏0
  • Laravel-admin 爆改(一)

    摘要:爆改一最近再整用了然后爆改了一下記錄記錄如果覺得不行那就在下面噴吧是一個(gè)可以快速幫你構(gòu)建后臺(tái)管理的工具,它提供的頁面組件和表單元素等功能,能幫助你使用很少的代碼就實(shí)現(xiàn)功能完善的后臺(tái)管理功能。 Laravel-admin 爆改(一) 最近再整cms,用了Laravel-admin,然后爆改了一下,記錄記錄.如果覺得不行,那就在下面噴吧 showImg(https://segmentfau...

    xushaojieaaa 評(píng)論0 收藏0
  • laravel-admin 使用記錄(三) - 使用擴(kuò)展

    摘要:導(dǎo)語有一些很方面的擴(kuò)展可以使用,下面使用管理器。安裝其實(shí)步驟很簡單的,按照官方文檔很快就好按照使用兩步就安裝好了,網(wǎng)址是,看下官方配圖數(shù)據(jù)庫選擇配置信息命令行都支持,很不錯(cuò)。更多的擴(kuò)展,可以查看下方鏈接。 導(dǎo)語 laravel-admin 有一些很方面的擴(kuò)展可以使用,下面使用Redis 管理器。 安裝 其實(shí)步驟很簡單的,按照官方文檔很快就好 composer 按照 composer ...

    bang590 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<