feat: Enhance Filament Widgets

This commit is contained in:
2025-09-09 21:22:07 +02:00
parent 9da6803eaa
commit 8162af842f
3 changed files with 36 additions and 37 deletions

View File

@@ -4,7 +4,7 @@ namespace App\Filament\Widgets;
use Filament\Tables;
use Filament\Widgets\TableWidget as BaseWidget;
use Illuminate\Support\Facades\DB;
use App\Models\Tenant;
class TopTenantsByUploads extends BaseWidget
{
@@ -13,20 +13,17 @@ class TopTenantsByUploads extends BaseWidget
public function table(Tables\Table $table): Tables\Table
{
$query = DB::table('photos as p')
->join('events as e', 'e.id', '=', 'p.event_id')
->join('tenants as t', 't.id', '=', 'e.tenant_id')
->selectRaw('t.id as tenant_id, t.name as tenant_name, COUNT(p.id) as uploads')
->groupBy('t.id', 't.name')
->orderByDesc('uploads')
->limit(5);
return $table
->query($query)
->query(
Tenant::query()
->withCount('photos')
->orderByDesc('photos_count')
->limit(5)
)
->columns([
Tables\Columns\TextColumn::make('tenant_id')->label('#')->width('60px'),
Tables\Columns\TextColumn::make('tenant_name')->label('Tenant')->searchable(),
Tables\Columns\TextColumn::make('uploads')->label('Uploads')->numeric(),
Tables\Columns\TextColumn::make('id')->label('#')->width('60px'),
Tables\Columns\TextColumn::make('name')->label('Tenant')->searchable(),
Tables\Columns\TextColumn::make('photos_count')->label('Uploads')->numeric(),
])
->paginated(false);
}