© 2026 Hedgehog Software, LLC
mutateFormDataBeforeCreate
class RoomResource extends Resource { protected static ?string $model = Room::class; protected static ?string $navigationIcon = 'heroicon-o-rectangle-stack'; protected static ?string $navigationGroup = 'Room Management'; public static function form(Form $form): Form { return $form ->schema([ Select::make('room_type_id') ->required() ->label('Tipe Kamar (ID)') ->options(Room_type::pluck('name_room_id', 'id')->toArray()), TextInput::make('count') ->label('Jumlah Kamar') ->type('number') ->minValue(1) ->required() ->dehydrated(false) ]); } protected function mutateFormDataBeforeCreate(array $data): array { dd($data); if (!isset($data['count']) || !is_numeric($data['count']) || $data['count'] <= 0) { throw new \InvalidArgumentException('Jumlah kamar harus lebih dari 0.'); } $count = (int) $data['count']; $rooms = []; for ($i = 0; $i < $count; $i++) { $rooms[] = [ 'room_type_id' => $data['room_type_id'], 'status' => 'Available', 'tenant' => null, 'created_at' => now(), 'updated_at' => now(), ]; } Room::insert($rooms); return []; }