Menu.php 997 B

12345678910111213141516171819202122232425262728
  1. <?php
  2. namespace App\Models\System;
  3. use Illuminate\Database\Eloquent\Factories\HasFactory;
  4. use Illuminate\Database\Eloquent\Model;
  5. use Spatie\Permission\Exceptions\PermissionAlreadyExists;
  6. use Spatie\Permission\Guard;
  7. use Spatie\Permission\Models\Permission;
  8. class Menu extends Permission
  9. {
  10. public static function create(array $attributes = [])
  11. {
  12. $attributes = [
  13. 'name' => '系统设置',
  14. 'type' => 1,
  15. ];
  16. $attributes['guard_name'] = $attributes['guard_name'] ?? Guard::getDefaultName(static::class);
  17. if (isset($attributes['permission']) && $attributes['permission']) {
  18. $permission = static::getPermission(['permission' => $attributes['permission'], 'guard_name' => $attributes['guard_name']]);
  19. if ($permission) {
  20. throw PermissionAlreadyExists::create($attributes['permission'], $attributes['guard_name']);
  21. }
  22. }
  23. return static::query()->create($attributes);
  24. }
  25. }