Как в QueryBuilder задать WHERE, в котором будет сравнение с текущим значением?

В Symfony QueryBuilder предоставляет удобный способ создания SQL-запросов без прямой работы с языком SQL. При использовании QueryBuilder возможно указывать условия, используя методы класса.

Чтобы задать условие WHERE сравнения с текущим значением, вам нужно использовать метод expr(), возвращающий экземпляр класса Expr, и метод eq() класса Expr, выполняющий сравнение двух значений на равенство.

Вот пример кода, который демонстрирует, как использовать QueryBuilder для создания запроса с условием WHERE сравнения с текущим значением:

use DoctrineORMEntityManagerInterface;

public function yourFunction(EntityManagerInterface $entityManager)
{
    $queryBuilder = $entityManager->createQueryBuilder();
    $queryBuilder
        ->select('e')
        ->from('YourEntity', 'e')
        ->where($queryBuilder->expr()->eq('e.yourField', ':yourValue')) // сравниваем поле yourField с текущим значением :yourValue
        ->setParameter('yourValue', $yourCurrentValue);

    $query = $queryBuilder->getQuery();
    $result = $query->getResult();
    
    // обработка результата запроса
}

В этом примере мы создали экземпляр класса QueryBuilder с помощью метода createQueryBuilder() менеджера сущностей. Затем мы указали, что нам нужно выбрать все записи из таблицы 'YourEntity' и присвоили ей псевдоним 'e'.

Далее мы добавили условие WHERE сравнения значения поля 'yourField' с текущим значением, используя метод eq() класса Expr и метод expr() экземпляра QueryBuilder. Мы также использовали метод setParameter() для задания значения, с которым будет производиться сравнение.

После этого мы получаем объект Query с помощью метода getQuery() и выполняем запрос с помощью метода getResult(), который возвращает результат запроса.

Чтобы использовать этот код в вашем проекте, вам необходимо заменить YourEntity на имя вашей сущности и yourField на имя поля, которое нужно сравнить с текущим значением. Также вы должны установить правильное текущее значение с помощью метода setParameter().