Files
animethemes-server/app/Filament/Tabs/ExternalResource/ExternalResourceUnlinkedTab.php
T
2026-04-23 00:48:53 -03:00

44 lines
1.3 KiB
PHP

<?php
declare(strict_types=1);
namespace App\Filament\Tabs\ExternalResource;
use App\Filament\Tabs\BaseTab;
use App\Models\Wiki\ExternalResource;
use Illuminate\Database\Eloquent\Builder;
class ExternalResourceUnlinkedTab extends BaseTab
{
public static function getSlug(): string
{
return 'external-resource-unlinked-tab';
}
public function getLabel(): string
{
return __('filament.tabs.external_resource.unlinked.name');
}
public function modifyQuery(Builder $query): Builder
{
return $query
->whereDoesntHave(ExternalResource::RELATION_ANIME)
->whereDoesntHave(ExternalResource::RELATION_ANIMETHEMEENTRIES)
->whereDoesntHave(ExternalResource::RELATION_ARTISTS)
->whereDoesntHave(ExternalResource::RELATION_SONGS)
->whereDoesntHave(ExternalResource::RELATION_STUDIOS);
}
public function getBadge(): ?string
{
return (string) ExternalResource::query()
->whereDoesntHave(ExternalResource::RELATION_ANIME)
->whereDoesntHave(ExternalResource::RELATION_ANIMETHEMEENTRIES)
->whereDoesntHave(ExternalResource::RELATION_ARTISTS)
->whereDoesntHave(ExternalResource::RELATION_SONGS)
->whereDoesntHave(ExternalResource::RELATION_STUDIOS)
->count();
}
}