public function getTabs(): array
{
$filterYear = $this->getTableFilterState('publish_year')['value'];
$filterMonth = $this->getTableFilterState('publish_month')['value'];
return [
'all' => Tab::make(),
'waiting_for_assignees' => Tab::make()
->modifyQueryUsing(fn (Builder $query) => $query
->where(fn ($q) => $q->whereDoesntHave('website.blogAssigned')->orDoesntHave('website.seoSupportAssigned'))
)
->label('Waiting for Assignees')
->badge(fn () => BlogPost::where(fn ($q) => $q->whereDoesntHave('website.blogAssigned')->orDoesntHave('website.seoSupportAssigned'))
->whereYear('publish_date', $filterYear)
->whereMonth('publish_date', $filterMonth)
->count()),
'waiting_for_title' => Tab::make()
->modifyQueryUsing(fn (Builder $query) => $query
->whereNull('title')
)
->label('Waiting for Title')
->badge(fn () => BlogPost::whereNull('title')
->whereYear('publish_date', $filterYear)
->whereMonth('publish_date', $filterMonth)
->count()
),
];
}
public function getTabs(): array
{
$filterYear = $this->getTableFilterState('publish_year')['value'];
$filterMonth = $this->getTableFilterState('publish_month')['value'];
return [
'all' => Tab::make(),
'waiting_for_assignees' => Tab::make()
->modifyQueryUsing(fn (Builder $query) => $query
->where(fn ($q) => $q->whereDoesntHave('website.blogAssigned')->orDoesntHave('website.seoSupportAssigned'))
)
->label('Waiting for Assignees')
->badge(fn () => BlogPost::where(fn ($q) => $q->whereDoesntHave('website.blogAssigned')->orDoesntHave('website.seoSupportAssigned'))
->whereYear('publish_date', $filterYear)
->whereMonth('publish_date', $filterMonth)
->count()),
'waiting_for_title' => Tab::make()
->modifyQueryUsing(fn (Builder $query) => $query
->whereNull('title')
)
->label('Waiting for Title')
->badge(fn () => BlogPost::whereNull('title')
->whereYear('publish_date', $filterYear)
->whereMonth('publish_date', $filterMonth)
->count()
),
];
}