components([ // ]); } public static function table(Table $table): Table { return $table ->columns([ TextColumn::make('id'), TextColumn::make('user_id')->label('UID'), TextColumn::make('user.username') ->label(nexus_trans("label.username")) ->formatStateUsing(fn ($record) => username_for_admin($record->user_id)) , TextColumn::make('content')->label(nexus_trans("user-modify-log.content")), TextColumn::make('created_at')->label(nexus_trans("label.created_at")), ]) ->filters([ Filter::make('user_id') ->schema([ TextInput::make('user_id') ->label(__('UID')) , ])->query(function (Builder $query, array $data) { return $query->when($data['user_id'], fn (Builder $query, $value) => $query->where("user_id", $value)); }) , Filter::make('user') ->schema([ TextInput::make('username') ->label(__('label.username')) , ])->query(function (Builder $query, array $data) { return $query->when($data['username'], fn (Builder $query, $value) => $query->whereHas("user", function (Builder $query) use ($value) { $query->where("username", $value); })); }) , Filter::make('content') ->schema([ TextInput::make('content') ->label(__('user-modify-log.content')) , ])->query(function (Builder $query, array $data) { return $query->when($data['content'], fn (Builder $query, $value) => $query->where("content", "like", "%{$data['content']}%")); }) , ]) ->defaultSort('id', 'desc') ->recordActions([ // Tables\Actions\EditAction::make(), // Tables\Actions\DeleteAction::make(), ]) ->toolbarActions([ // Tables\Actions\BulkActionGroup::make([ // Tables\Actions\DeleteBulkAction::make(), // ]), ]); } public static function getPages(): array { return [ 'index' => ManageUserModifyLogs::route('/'), ]; } }