From 578fc3be822a9a5d6f3d7988f91dc1241306978c Mon Sep 17 00:00:00 2001 From: lizhuoran <625237490@qq.com> Date: Thu, 12 Mar 2026 16:12:12 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E4=BF=AE=E5=A4=8D=E7=94=A8=E6=88=B7?= =?UTF-8?q?=E7=AE=A1=E7=90=86=E4=B8=AD=E6=9D=83=E9=99=90=E6=95=B0=E9=87=8F?= =?UTF-8?q?=E6=98=BE=E7=A4=BA=E4=B8=BA0=E7=9A=84=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 使用 getAllPermissions() 获取用户所有权限 - 包括直接分配的权限和通过角色继承的权限 - 修复排序功能以支持新的计算方式 --- app/Filament/Resources/UserResource.php | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/app/Filament/Resources/UserResource.php b/app/Filament/Resources/UserResource.php index e0a5921..dbe4daf 100644 --- a/app/Filament/Resources/UserResource.php +++ b/app/Filament/Resources/UserResource.php @@ -229,8 +229,15 @@ class UserResource extends Resource ->toggleable(), Tables\Columns\TextColumn::make('permissions_count') ->label('权限数量') - ->counts('permissions') - ->sortable() + ->getStateUsing(function (User $record): int { + // 获取用户所有权限(包括通过角色继承的) + return $record->getAllPermissions()->count(); + }) + ->sortable(query: function ($query, string $direction): void { + // 使用子查询进行排序 + $query->withCount('permissions') + ->orderBy('permissions_count', $direction); + }) ->toggleable(), Tables\Columns\TextColumn::make('created_at') ->label('创建时间')