Я использую TYPO3 версии 8.7.x, и в настоящее время я борюсь с использованием выражения «rlike» в сочетании с QueryBuilder.
Вот фрагмент:
$this->getQueryBuilder()
->select('uid')
->from(self::DEFAULT_TABLE)
->where(
$this->getQueryBuilder()->expr()-> // here I expected the rlike expression
)
Вопрос: Поскольку для rlike нет метода сборки, как мне создать выражение where с выражениями регулярных выражений?
Я уже понял, что comparison($leftExpression, string $operator, $rightExpression)
можно использовать для принудительного вызова rlike-строки, но если вы используете его, вам придется использовать отсутствующую проверку $operator
, чтобы включить оператор 'rlike'.
По умолчанию $оператор должен использоваться в качестве константы ExpressionBuilder.
@param string $operator One of the ExpressionBuilder::* constants.
Sidenote: comparison
-функция может использоваться в качестве expolit, если вы работаете с общими операторами.Поэтому я хотел бы избежать этого
QueryBuilder использует экземпляр \Doctrine\DBAL\Query\Expression\ExpressionBuilder