如何在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.'[[:>:]]"');
我有一个类似这样的原始查询:
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.'[[:>:]]"');