TextColumn::make('ref')
->getStateUsing(
function (Model $record) {
$startOfYear = now()->startOfYear()->toDateTimeString();
$now = now()->toDateTimeString();
$invoices = Invoice::whereBetween('created_at', [$startOfYear, $now])
->get()
->sortBy('created_at');
if (! $invoices->first()) {
$calculatedId = 1;
} else {
$calculatedId = $record->id - $invoices->first()->id + 1;
}
$currentYear = (string) now()->year;
$state = $currentYear.'-'.sprintf('%03d', $calculatedId);
return $state;
})
TextColumn::make('ref')
->getStateUsing(
function (Model $record) {
$startOfYear = now()->startOfYear()->toDateTimeString();
$now = now()->toDateTimeString();
$invoices = Invoice::whereBetween('created_at', [$startOfYear, $now])
->get()
->sortBy('created_at');
if (! $invoices->first()) {
$calculatedId = 1;
} else {
$calculatedId = $record->id - $invoices->first()->id + 1;
}
$currentYear = (string) now()->year;
$state = $currentYear.'-'.sprintf('%03d', $calculatedId);
return $state;
})