CreateMenuPermission.php 772 B

12345678910111213141516171819202122232425
  1. <?php
  2. namespace App\Filament\Resources\MenuPermissionResource\Pages;
  3. use Illuminate\Database\Eloquent\Builder;
  4. use App\Filament\Resources\MenuPermissionResource;
  5. use Filament\Actions;
  6. use Filament\Resources\Pages\CreateRecord;
  7. class CreateMenuPermission extends CreateRecord
  8. {
  9. protected static string $resource = MenuPermissionResource::class;
  10. protected function mutateFormDataBeforeCreate(array $data): array
  11. {
  12. // 如果没有提供排序,默认使用当前用户的最大排序+1
  13. if (empty($data['sort_order'])) {
  14. $maxOrder = \App\Models\MenuPermission::where('user_id', $data['user_id'])
  15. ->max('sort_order');
  16. $data['sort_order'] = ($maxOrder ?? -1) + 1;
  17. }
  18. return $data;
  19. }
  20. }