chore: 重写初始提交(清空历史,整理后全量提交)
This commit is contained in:
@@ -0,0 +1,68 @@
|
||||
<?php
|
||||
// +----------------------------------------------------------------------
|
||||
// | YwxApp [ WE CAN DO IT JUST THINK ]
|
||||
// +----------------------------------------------------------------------
|
||||
// | Copyright (c) 2026-2036 http://ywxapp.cn All rights reserved.
|
||||
// +----------------------------------------------------------------------
|
||||
// | Author: ywxapp<admin@ywxapp.cn>
|
||||
// +----------------------------------------------------------------------
|
||||
declare (strict_types = 1);
|
||||
|
||||
namespace addon\haonav\model;
|
||||
|
||||
use ywxapp\model\BaseModel;
|
||||
|
||||
|
||||
class Category extends BaseModel
|
||||
{
|
||||
|
||||
protected function getOptions(): array
|
||||
{
|
||||
// 所有的参数配置统一返回
|
||||
return [
|
||||
'strict' => false,
|
||||
'name' => 'haonav_category',
|
||||
// 'connection' => '',
|
||||
// 'query' => [],
|
||||
// 'type' => [],
|
||||
// 'hidden' => [],
|
||||
// 'visible' => [],
|
||||
// 'append' => [],
|
||||
'autoRelation' => [],
|
||||
'createTime' => 'create_at',
|
||||
'updateTime' => 'update_at',
|
||||
'dateFormat' => 'Y-m-d H:i:s',
|
||||
];
|
||||
}
|
||||
|
||||
|
||||
public function links()
|
||||
{
|
||||
return $this->hasMany(Links::class, 'cid', 'id');
|
||||
}
|
||||
|
||||
/**
|
||||
* 子分类(二级及更深层次)
|
||||
*/
|
||||
public function children()
|
||||
{
|
||||
return $this->hasMany(self::class, 'pid', 'id');
|
||||
}
|
||||
|
||||
/**
|
||||
* 删除前保护:存在子分类或下属链接时禁止删除,避免产生孤儿数据
|
||||
* @param \think\Model $model
|
||||
* @throws \think\Exception
|
||||
*/
|
||||
public static function onBeforeDelete($model)
|
||||
{
|
||||
$childCount = self::where('pid', $model->id)->count();
|
||||
if ($childCount > 0) {
|
||||
throw new \think\Exception('该分类下还存在 ' . $childCount . ' 个子分类,请先处理子分类');
|
||||
}
|
||||
$linkCount = \addon\haonav\model\Links::where('cid', $model->id)->count();
|
||||
if ($linkCount > 0) {
|
||||
throw new \think\Exception('该分类下还存在 ' . $linkCount . ' 个链接,请先移走或删除这些链接');
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user