Files
nuhodds_fi4/app/Filament/Exports/BetfairExporter.php
T
2026-03-07 07:25:38 +01:00

61 lines
2.1 KiB
PHP

<?php
namespace App\Filament\Exports;
use App\Models\Event;
use Filament\Actions\Exports\ExportColumn;
use Filament\Actions\Exports\Exporter;
use Filament\Actions\Exports\Models\Export;
use Illuminate\Support\Number;
class BetfairExporter extends Exporter
{
protected static ?string $model = Event::class;
public static function getColumns(): array
{
return [
ExportColumn::make('id')
->label('TxOdds id'),
ExportColumn::make('betsapi_id'),
ExportColumn::make('betradar_id'),
ExportColumn::make('bet365_id'),
ExportColumn::make('starttime'),
ExportColumn::make('sport_id'),
ExportColumn::make('country_id'),
ExportColumn::make('country.name'),
ExportColumn::make('competition_group_id')
->label('Group id'),
ExportColumn::make('competition_group.name')
->label('Group'),
ExportColumn::make('home_id'),
ExportColumn::make('home.name'),
ExportColumn::make('away_id'),
ExportColumn::make('away.name'),
ExportColumn::make('odds_3ways_bf.h3w')
->label('1'),
ExportColumn::make('odds_3ways_bf.d3w')
->label('X'),
ExportColumn::make('odds_3ways_bf.a3w')
->label('2'),
ExportColumn::make('odds_totals_bf.over')
->label('Over'),
ExportColumn::make('odds_totals_bf.under')
->label('Under'),
ExportColumn::make('odds_totals_bf.total')
->label('Total'),
];
}
public static function getCompletedNotificationBody(Export $export): string
{
$body = 'Your event export has completed and '.Number::format($export->successful_rows).' '.str('row')->plural($export->successful_rows).' exported.';
if ($failedRowsCount = $export->getFailedRowsCount()) {
$body .= ' '.Number::format($failedRowsCount).' '.str('row')->plural($failedRowsCount).' failed to export.';
}
return $body;
}
}