【laralve项目】@14 laravel-admin处理后台分类,选择上级模型树(2)

简介: 【laralve项目】@14 laravel-admin处理后台分类,选择上级模型树

然后里边放置下面内容

<?php
namespace App\Observers;
use Log;
use App\Models\GoodsCategory;
class GoodsCategoryObserver
{
    public function creating(GoodsCategory $goodsCategory) {
        //如果创建的是一个根类目
        if (is_null($goodsCategory->parent_id)) {
            //讲层级设置为0
            $goodsCategory->level = 0;
            //将path 设为 -
            $goodsCategory->possess = '-';
        }else {
            //将层级设为父类目层级 + 1
            $goodsCategory->level = $goodsCategory->parent->level +1;
            Log::info($goodsCategory->level);
            // 将path 设为父级目的的PATH 追加父级的id 并最后 跟上一个  -  分隔符
            $goodsCategory->possess = $goodsCategory->parent->possess.$goodsCategory->parent_id.'-';
        }
    }
    /**
     * Handle the goods category "created" event.
     *
     * @param  \App\GoodsCategory  $goodsCategory
     * @return void
     */
    public function created(GoodsCategory $goodsCategory)
    {
    }
    /**
     * Handle the goods category "updated" event.
     *
     * @param  \App\GoodsCategory  $goodsCategory
     * @return void
     */
    public function updated(GoodsCategory $goodsCategory)
    {
        //
    }
    /**
     * Handle the goods category "deleted" event.
     *
     * @param  \App\GoodsCategory  $goodsCategory
     * @return void
     */
    public function deleted(GoodsCategory $goodsCategory)
    {
        //
    }
    /**
     * Handle the goods category "restored" event.
     *
     * @param  \App\GoodsCategory  $goodsCategory
     * @return void
     */
    public function restored(GoodsCategory $goodsCategory)
    {
        //
    }
    /**
     * Handle the goods category "force deleted" event.
     *
     * @param  \App\GoodsCategory  $goodsCategory
     * @return void
     */
    public function forceDeleted(GoodsCategory $goodsCategory)
    {
        //
    }
}

然后需要注册一个服务

app\Providers\ModelObserverProvider.php

php artisan make:provider ModelObserverProvider

里边添加这些代码

<?php
namespace App\Providers;
use App\Observers\GoodsCategoryObserver;
use App\Models\GoodsCategory;
use Illuminate\Support\ServiceProvider;
class ModelObserverProvider extends ServiceProvider
{
    /**
     * Register services.
     *
     * @return void
     */
    public function register()
    {
        //
    }
    /**
     * Bootstrap services.
     *
     * @return void
     */
    public function boot()
    {
        GoodsCategory::observe(GoodsCategoryObserver::class);
    }
}

屏幕快照 2022-05-16 上午11.57.09.png

屏幕快照 2022-05-16 下午12.02.35.png屏幕快照 2022-05-16 下午12.02.42.png

相关文章
|
8月前
|
算法 前端开发 JavaScript
若依框架---数据转树状层级
若依框架---数据转树状层级
573 0
|
7月前
|
数据处理 Python
Flask 项目工程目录层级划分
本文介绍了如何将 Flask 项目工程目录层级按照主题分类划分,主要包括模型层、视图层、表单层、模板文件和静态文件。通过合理地组织项目文件,可以提高项目的可读性、可维护性和可扩展性。
106 5
|
存储 关系型数据库 MySQL
WordPress 核心中未包含的 WordPress 网站组件
WordPress 核心中未包含的 WordPress 网站组件 之前 WordPress 核心文件北京六翼的开发工程师已经介绍过了,下面让我们来看看 WordPress 核心文件中不包含的内容。 WordPress 数据库– WordPress 数据库存储了您的 WordPress 网站的大部分内容。
WordPress 核心中未包含的 WordPress 网站组件
|
存储
学习笔记jira项目22usecontent存储全局信息
学习笔记jira项目22usecontent存储全局信息
77 0
学习笔记jira项目22usecontent存储全局信息
|
Java 开发者
后台分类模块之相关类之创建 | 学习笔记
快速学习后台分类模块之相关类之创建
102 0
|
PHP 数据库
【laralve项目】@14 laravel-admin处理后台分类,选择上级模型树(1)
【laralve项目】@14 laravel-admin处理后台分类,选择上级模型树
184 0
【laralve项目】@14 laravel-admin处理后台分类,选择上级模型树(1)
【laralve项目】@14 laravel-admin处理后台分类,选择上级
【laralve项目】@14 laravel-admin处理后台分类,选择上级
98 0
【laralve项目】@14 laravel-admin处理后台分类,选择上级
|
PHP
【laravel项目】@16 修改后台分类
【laravel项目】@16 修改后台分类
107 0
【laravel项目】@16 修改后台分类
|
存储 Java 数据库
后台分类模块之相关类创建| 学习笔记
快速学习后台分类模块之相关类创建。
117 0
|
Java 开发者
后台分类模块之相关类之创建 | 学习笔记
快速学习后台分类模块之相关类之创建
104 0