eggs = $this->record->items() ->pluck('eggs_count', 'chicken_id') ->map(fn ($count) => (int) $count) ->toArray(); } protected function getHeaderActions(): array { return [ BackAction::make() ->url(ListEggCollections::getUrl()), ]; } protected function getRedirectUrl(): string { return $this->getResource()::getUrl('index'); } protected function mutateFormDataBeforeSave(array $data): array { $data['total_eggs'] = array_sum($this->eggs ?? []); return $data; } protected function afterSave(): void { EggCollectionItem::where('egg_collection_id', $this->record->id)->delete(); foreach ($this->eggs as $chickenId => $eggsCount) { if ($eggsCount <= 0) { continue; } EggCollectionItem::create([ 'egg_collection_id' => $this->record->id, 'chicken_id' => $chickenId, 'eggs_count' => $eggsCount, ]); } } protected function getSavedNotification(): ?Notification { return Notification::make() ->title('Perubahan Berhasil Disimpan') ->body('Perubahan pada data telah berhasil disimpan dan diperbarui di sistem.') ->success(); } }