fix: 修复未选父级菜单导致数据错乱
This commit is contained in:
parent
61aea21d5f
commit
c1e4275399
@ -7,6 +7,7 @@ namespace Modules\Permissions\Models;
|
|||||||
use Catch\Base\CatchModel as Model;
|
use Catch\Base\CatchModel as Model;
|
||||||
use Catch\CatchAdmin;
|
use Catch\CatchAdmin;
|
||||||
use Catch\Enums\Status;
|
use Catch\Enums\Status;
|
||||||
|
use Catch\Exceptions\FailedException;
|
||||||
use Illuminate\Database\Eloquent\Casts\Attribute;
|
use Illuminate\Database\Eloquent\Casts\Attribute;
|
||||||
use Illuminate\Database\Eloquent\Relations\HasMany;
|
use Illuminate\Database\Eloquent\Relations\HasMany;
|
||||||
use Illuminate\Support\Facades\DB;
|
use Illuminate\Support\Facades\DB;
|
||||||
@ -163,6 +164,10 @@ class Permissions extends Model
|
|||||||
public function storeBy(array $data): mixed
|
public function storeBy(array $data): mixed
|
||||||
{
|
{
|
||||||
return DB::transaction(function () use ($data){
|
return DB::transaction(function () use ($data){
|
||||||
|
if ($data['type'] != self::isTopMenu() && ! $data['parent_id']) {
|
||||||
|
throw new FailedException('请选择父级菜单');
|
||||||
|
}
|
||||||
|
|
||||||
if ($data['actions'] ?? false) {
|
if ($data['actions'] ?? false) {
|
||||||
/* @var static $parentMenu */
|
/* @var static $parentMenu */
|
||||||
$parentMenu = $this->firstBy(value: $data['parent_id'], field: 'id');
|
$parentMenu = $this->firstBy(value: $data['parent_id'], field: 'id');
|
||||||
@ -240,6 +245,10 @@ class Permissions extends Model
|
|||||||
*/
|
*/
|
||||||
public function updateBy($id, array $data): mixed
|
public function updateBy($id, array $data): mixed
|
||||||
{
|
{
|
||||||
|
if ($data['type'] != self::isTopMenu() && ! $data['parent_id']) {
|
||||||
|
throw new FailedException('请选择父级菜单');
|
||||||
|
}
|
||||||
|
|
||||||
$model = $this->fill($data);
|
$model = $this->fill($data);
|
||||||
|
|
||||||
if ($model->isAction()) {
|
if ($model->isAction()) {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user