stackoverflow.com/a/8816339/200443

сно заголовку, как можно сопоставить регулярное выражение с конструктором запросов Doctrine 2? В основном я пытаюсь генерировать уникальных слизней.

Вот моя текущая реализация. Я генерирую слизняк. Затем я проверяю, есть ли какие-нибудь слизни в использовании, как этот слизень. Если они есть, я добавлю - {число} в конец слага, где {число} - это наименьшее число, которое еще не используется.

$qb->select(array('partial o.{id, slug}'))
   ->from('Foo\Bar\Entity\Object', 'o')
   ->where($qb->expr()->like('o.slug', ':slug'));

$slug = new SlugNormalizer($text);
$qb->setParameter('slug', $slug->__toString().'-%');

Проблема здесь в том, что LIKE slug% может соответствовать foo-bar-1, foo-bar-2 и AND foo-bar-not-the-the-slug. Что будет чище, так это регулярное выражение, ищущее слизня REGEX - (\ d +) или нечто подобное.

Есть ли способ сделать это с помощью построителя запросов Doctrine 2?

Ответы на вопрос(4)

Ваш ответ на вопрос