Что касается заголовка, как можно сопоставить регулярное выражение с конструктором запросов 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?