This commit is contained in:
JaguarJack 2021-05-25 08:28:27 +08:00
commit d97b5f62ee
3 changed files with 22 additions and 3 deletions

View File

@ -61,6 +61,8 @@ class Category extends BaseModel
'deleted_at',
);
protected $updateChildrenFields = ['status'];
const LIST_TYPE = 1; // 列表
const PAGE_TYPE = 2; // 单页
const COVER_TYPE = 3; // 封面

View File

@ -13,6 +13,7 @@
namespace catchAdmin\cms\model\events;
use catcher\exceptions\CatchException;
use catcher\exceptions\FailedException;
use catcher\Utils;
@ -24,10 +25,15 @@ trait CategoryEvent
* @time 2021年03月03日
* @param \think\Model $category
* @return void
* @throws \think\db\exception\DbException
* @throws \think\db\exception\ModelNotFoundException
* @throws \think\db\exception\DataNotFoundException
*/
public static function onBeforeInsert(\think\Model $category): void
{
if (self::where('name', $category->getData('name'))->find()) {
throw new FailedException('分类名称重复,请重新填写');
}
}
/**
@ -36,10 +42,21 @@ trait CategoryEvent
* @time 2021年03月03日
* @param \think\Model $category
* @return mixed|void
* @throws \think\db\exception\DbException
* @throws \think\db\exception\ModelNotFoundException
* @throws \think\db\exception\DataNotFoundException
*/
public static function onBeforeUpdate(\think\Model $category)
{
$data = $category->getData();
if (isset($data['name'])) {
$where = $category->getWhere();
if (self::where('name', $category->getData('name'))->where('id', '<>', $where['id'])->find()) {
throw new FailedException('分类名称重复,请重新填写');
}
}
}
/**

View File

@ -184,7 +184,7 @@ trait BaseOptionsTrait
if (!empty($this->updateChildrenFields)) {
if (is_array($this->updateChildrenFields)) {
foreach ($data as $field => $value) {
if (in_array($field, $this->updateChildrenFields)) {
if (! in_array($field, $this->updateChildrenFields)) {
unset($data[$field]);
}
}