Вы должны использовать Zend\Db\Sql\Expression
, этот класс говорит Zend\Db
, что вы знаете, что вы делаете, и что содержание строки, переданной в этот класс не должен быть преобразован, а используется как есть.
// build the table gateway object
$adapter = $this->getServiceLocator()->get('Zend\Db\Adapter\Adapter');
$tableIdentifier = new TableIdentifier('table_data', 'public');
$tableGateway = new TableGateway($tableIdentifier, $adapter);
// create the filter
$where = new \Zend\Db\Sql\Where();
$where->equalTo('id', '12');
// update table
$tableGateway->update(
['active' => new \Zend\Db\Sql\Expression('not active')],
$where
);