feat: override feedback author

This commit is contained in:
Björn Fromme
2024-07-23 18:09:30 +02:00
parent f3316e2392
commit 927ea33889
7 changed files with 109 additions and 11 deletions
+40
View File
@@ -3,6 +3,7 @@
namespace App\Repository;
use App\Entity\User;
use App\Repository\Traits\QueryHelperTrait;
use Doctrine\Bundle\DoctrineBundle\Repository\ServiceEntityRepository;
use Doctrine\Persistence\ManagerRegistry;
@@ -16,6 +17,8 @@ use Doctrine\Persistence\ManagerRegistry;
*/
class UserRepository extends ServiceEntityRepository
{
use QueryHelperTrait;
public function __construct(ManagerRegistry $registry)
{
parent::__construct($registry, User::class);
@@ -67,4 +70,41 @@ class UserRepository extends ServiceEntityRepository
->getResult()
;
}
public function getAutocompletionData(string $search, string $role): array
{
$qb = $this->createQueryBuilder('user');
$users = $qb
->where($qb->expr()->andX(
$qb->expr()->orX(
$qb->expr()->like('user.lastName', ':search'),
$qb->expr()->like('user.firstName', ':search'),
)),
$qb->expr()->like('user.roles', ':role')
)
->orderBy('user.lastName', 'ASC')
->addOrderBy('user.firstName', 'ASC')
->setParameter('search', '%'.$this->escapeLikeWildcards($search).'%')
->setParameter('role', '%"'.$this->escapeLikeWildcards($role).'"%')
->getQuery()
->getResult()
;
$data = [
[
'value' => '',
'text' => '...',
],
];
foreach ($users as $user) {
$data[] = [
'value' => $user->getId(),
'text' => (string) $user,
];
}
return $data;
}
}