如何在zend framework 3中写RLIKE?

How to write RLIKE in zend framework 3?

我有一个类似这样的原始查询:

SELECT * FROM caps WHERE `items` RLIKE '[[:<:]]20003[[:>:]]';

我已将此查询转换为 'zf3 select' 格式。我正在使用 Zend\Db\Sql\Select 并扩展 TableGateway。这是转换后的 zf3 查询

$this->select(function (Select $s) use ($itemId) {
   $s->where(new Expression(sprintf('(items RLIKE "[[:<:]]`%d`[[:>:]]")', $itemId)));
});

我 运行 页面时没有收到任何错误。但是当我打印 'resultSet' 时,where 部分没有附加到查询中。我如何在 zf3 中编写它?

我找到了解决办法。我只是将 expression 与我的 where 子句一起使用。现在工作正常。这是我的新查询的一部分。

$s->where->expression('items RLIKE "[[:<:]]'.$itemId.'[[:>:]]"');