fix: 修复用户管理中权限数量显示为0的问题

- 使用 getAllPermissions() 获取用户所有权限
- 包括直接分配的权限和通过角色继承的权限
- 修复排序功能以支持新的计算方式
This commit is contained in:
2026-03-12 16:12:12 +08:00
parent 29c209116e
commit 578fc3be82

View File

@@ -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('创建时间')