CreateTextbook.php 970 B

12345678910111213141516171819202122232425262728293031323334353637383940
  1. <?php
  2. namespace App\Filament\Resources\TextbookResource\Pages;
  3. use App\Filament\Resources\TextbookResource;
  4. use Filament\Resources\Pages\CreateRecord;
  5. use Illuminate\Database\Eloquent\Model;
  6. class CreateTextbook extends CreateRecord
  7. {
  8. protected static string $resource = TextbookResource::class;
  9. /**
  10. * 禁用面包屑,避免重复导航
  11. */
  12. public function getBreadcrumbs(): array
  13. {
  14. return [];
  15. }
  16. /**
  17. * 处理记录创建
  18. */
  19. protected function handleRecordCreation(array $data): Model
  20. {
  21. // 获取TextbookResource实例
  22. $resource = static::getResource();
  23. // 调用API创建
  24. $apiService = $resource::getApiService();
  25. $createdData = $apiService->createTextbook($data);
  26. // 创建模型实例
  27. $record = new static::$model($createdData);
  28. $record->exists = true;
  29. $record->id = $createdData['id'] ?? null;
  30. return $record;
  31. }
  32. }