columns([ TextColumn::make('name') ->label('昵称') ->searchable() ->weight('bold'), TextColumn::make('email') ->label('邮箱') ->searchable(), TextColumn::make('roles.name') ->label('角色') ->badge() ->formatStateUsing(fn ($state) => match ($state) { 'admin' => '管理组', 'editor' => '撰写组', 'member' => '会员', default => $state, }), TextColumn::make('posts_count') ->label('文章') ->counts('posts') ->sortable(), TextColumn::make('logincount') ->label('登录次数') ->sortable(), TextColumn::make('loginip') ->label('最近 IP'), TextColumn::make('created_at') ->label('注册时间') ->dateTime('Y-m-d') ->sortable(), ]) ->filters([ \Filament\Tables\Filters\SelectFilter::make('roles') ->label('角色') ->relationship('roles', 'name'), ], \Filament\Tables\Enums\FiltersLayout::AboveContent) ->recordActions([ EditAction::make(), ]) ->recordUrl(null) ->recordAction(null) ->toolbarActions([ BulkActionGroup::make([ DeleteBulkAction::make(), ]), ]) ->defaultSort('created_at', 'desc'); } }