From c1e42753994ec14ee769a7c6be12f60181ac8138 Mon Sep 17 00:00:00 2001 From: JaguarJack <82664165@qq.com> Date: Thu, 6 Jun 2024 18:42:06 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E4=BF=AE=E5=A4=8D=E6=9C=AA=E9=80=89?= =?UTF-8?q?=E7=88=B6=E7=BA=A7=E8=8F=9C=E5=8D=95=E5=AF=BC=E8=87=B4=E6=95=B0?= =?UTF-8?q?=E6=8D=AE=E9=94=99=E4=B9=B1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- modules/Permissions/Models/Permissions.php | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/modules/Permissions/Models/Permissions.php b/modules/Permissions/Models/Permissions.php index 473fffb..14cbfaa 100644 --- a/modules/Permissions/Models/Permissions.php +++ b/modules/Permissions/Models/Permissions.php @@ -7,6 +7,7 @@ namespace Modules\Permissions\Models; use Catch\Base\CatchModel as Model; use Catch\CatchAdmin; use Catch\Enums\Status; +use Catch\Exceptions\FailedException; use Illuminate\Database\Eloquent\Casts\Attribute; use Illuminate\Database\Eloquent\Relations\HasMany; use Illuminate\Support\Facades\DB; @@ -163,6 +164,10 @@ class Permissions extends Model public function storeBy(array $data): mixed { return DB::transaction(function () use ($data){ + if ($data['type'] != self::isTopMenu() && ! $data['parent_id']) { + throw new FailedException('请选择父级菜单'); + } + if ($data['actions'] ?? false) { /* @var static $parentMenu */ $parentMenu = $this->firstBy(value: $data['parent_id'], field: 'id'); @@ -240,6 +245,10 @@ class Permissions extends Model */ public function updateBy($id, array $data): mixed { + if ($data['type'] != self::isTopMenu() && ! $data['parent_id']) { + throw new FailedException('请选择父级菜单'); + } + $model = $this->fill($data); if ($model->isAction()) {