Why Error inject param Action Class in `handleRecordUpdate()`

Error
Method 'App\Filament\Resources\UserResource\Pages\EditUser::handleRecordUpdate()' is not compatible with method 'Filament\Resources\Pages\EditRecord::handleRecordUpdate()'.
Method 'App\Filament\Resources\UserResource\Pages\EditUser::handleRecordUpdate()' is not compatible with method 'Filament\Resources\Pages\EditRecord::handleRecordUpdate()'.
<?php

declare(strict_types=1);

namespace App\Filament\Resources\UserResource\Pages;

use App\Actions\User\UpdateUserAction;

class EditUser extends EditRecord
{
protected static string $resource = UserResource::class;


protected function handleRecordUpdate(User $record, array $data, UpdateUserAction $action): User
{
return $action->handle($record, $data);;
}
}
<?php

declare(strict_types=1);

namespace App\Filament\Resources\UserResource\Pages;

use App\Actions\User\UpdateUserAction;

class EditUser extends EditRecord
{
protected static string $resource = UserResource::class;


protected function handleRecordUpdate(User $record, array $data, UpdateUserAction $action): User
{
return $action->handle($record, $data);;
}
}
Why?
1 Reply
Kaesa Lyrih
Kaesa LyrihOP3w ago
Temp Solution:
<?php

declare(strict_types=1);

namespace App\Filament\Resources\UserResource\Pages;

use App\Actions\User\UpdateUserAction;

class EditUser extends EditRecord
{
protected static string $resource = UserResource::class;


protected function handleRecordUpdate(User $record, array $data): User
{
return app(UpdateUserAction::class)->handle($record, $data);;
}
}
<?php

declare(strict_types=1);

namespace App\Filament\Resources\UserResource\Pages;

use App\Actions\User\UpdateUserAction;

class EditUser extends EditRecord
{
protected static string $resource = UserResource::class;


protected function handleRecordUpdate(User $record, array $data): User
{
return app(UpdateUserAction::class)->handle($record, $data);;
}
}
]

Did you find this page helpful?