getAllAliases(), true)) { $qb->leftJoin('activity.users', 'actusers'); } $qb ->addSelect('actusers.id AS activity_users_aggregator') ->addGroupBy('activity_users_aggregator'); } public function applyOn(): string { return Declarations::ACTIVITY; } public function buildForm(FormBuilderInterface $builder): void { // nothing to add on the form } public function getNormalizationVersion(): int { return 1; } public function normalizeFormData(array $formData): array { return []; } public function denormalizeFormData(array $formData, int $fromVersion): array { return []; } public function getFormDefaultData(): array { return []; } public function getLabels($key, array $values, $data): callable { return function ($value) { if ('_header' === $value) { return 'Activity users'; } if (null === $value || '' === $value) { return ''; } $u = $this->userRepository->find($value); return $this->userRender->renderString($u, []); }; } public function getQueryKeys($data): array { return ['activity_users_aggregator']; } public function getTitle(): string|\Symfony\Contracts\Translation\TranslatableInterface { return 'Aggregate by activity users'; } }