根据标题,如何使用 Doctrine 2 查询构建器匹配正则表达式?基本上我正在尝试生成独特的蛞蝓。
这是我目前的实现。我生成蛞蝓。然后我检查是否有像这个 slug 这样的 slug 正在使用。如果有,我将在 slug 的末尾附加一个 -{number} ,其中 {number} 是尚未使用的最小数字。
$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 和 foo-bar-not-the-same-slug。更清洁的是寻找 REGEX slug-(\d+) 或类似内容的正则表达式。
有什么方法可以用 Doctrine 2 查询生成器做到这一点?