Для безопасного использования динамических значений полей в запросе Doctrine можно использовать метод parameter() для экранирования значений. Например:
```php
$key = 'column_name';
$value = 'some_value';
$qb = $entityManager->createQueryBuilder();
$qb->select('t')
->from('Entity\Table', 't')
->where($qb->expr()->eq('t.' . $qb->expr()->identifier($key), ':value'))
->setParameter('value', $value);
$query = $qb->getQuery();
$results = $query->getResult();
```
Таким образом, значение переменной $key будет безопасно экранировано и не представит уязвимости для SQL-инъекций.