Я работаю над приложением с использованием среды Zend 2. Я использую TableGateway для выбора, вставки, обновления и удаления запроса.Как распечатать точный sql-запрос перед выполнением в Zend Framework 2
1. Мой вопрос заключается в том, как распечатать точный sql-запрос перед выполнением инструкций INSERT, UPDATE и DELETE? Для SELECT заявление здесь - мой код, который работает для меня.
$selectedTable = new TableGateway($this->tblName, $this->dbAdapter);
$sql = $selectedTable->getSql();
$select = $sql->select();
if ($trace) {
echo "<br>" . $sql->getSqlstringForSqlObject($select) . "<br>";
exit;
}
else {
$resultSet = $selectedTable->selectWith($select);
unset($selectedTable);
return $resultSet;
}
2. Для последнего вставленной ид Я использую этот код и работает отлично.
$selectedTable = new TableGateway($this->tblName, $this->dbAdapter);
$selectedTable->insert($dataArray);
$insertId = $selectedTable->adapter->getDriver()->getConnection()->getLastGeneratedValue();
unset($selectedTable);
return $insertId;
Но для UPDATE как получить последний обновленный идентификатор? и для УДАЛИТЬ как получить поврежденную строку? Потому что для UPDATE и DELETE этот код не работает.
Может ли кто-нибудь предложить, как это сделать?
Спасибо за ваш ответ. Можете ли вы рассказать мне, как использовать getaffectedrows() с обновлением и удалением с помощью TableGateway? – anil