Экспорт в Filament
Давайте выгрузим экспорт. Кнопка в шапке списка соберёт строки таблицы в файл для скачивания. Смотрим на /admin/posts.
ExportAction принимает
класс экспортёра через метод
exporter. Его передают
в headerActions.
В PostsTable.php подключим
экспорт:
<?php
namespace App\Filament\Resources\Posts\Tables;
use App\Filament\Exports\PostExporter;
use Filament\Actions\ExportAction;
use Filament\Tables\Columns\TextColumn;
use Filament\Tables\Table;
class PostsTable
{
public static function configure(Table $table): Table
{
return $table
->columns([
TextColumn::make('title'),
])
->headerActions([
ExportAction::make()
->exporter(PostExporter::class),
]);
}
}
?>
Экспортёр задаёт, какие поля попадут в файл:
<?php
namespace App\Filament\Exports;
use App\Models\Post;
use Filament\Actions\Exports\ExportColumn;
use Filament\Actions\Exports\Exporter;
class PostExporter extends Exporter
{
protected static ?string $model = Post::class;
public static function getColumns(): array
{
return [
ExportColumn::make('title'),
];
}
}
?>
Дайте скачать список работников файлом.