Своё действие в Filament
Давайте соберём своё действие. Кнопка у строки выполнит код над одной записью без перехода на другую страницу. Проверим /admin/posts.
Базовый класс - Action.
Имя задают в make,
логику - в методе action
с замыканием. В аргумент
попадает модель строки.
В PostsTable.php добавим
публикацию записи:
<?php
namespace App\Filament\Resources\Posts\Tables;
use App\Models\Post;
use Filament\Actions\Action;
use Filament\Tables\Columns\TextColumn;
use Filament\Tables\Table;
class PostsTable
{
public static function configure(Table $table): Table
{
return $table
->columns([
TextColumn::make('title'),
])
->recordActions([
Action::make('publish')
->action(function (Post $record): void {
$record->update(['status' => 'published']);
}),
]);
}
}
?>
В строке работника сделайте кнопку, которая отмечает его активным.