Код моего контроллера структурирован следующим образом:
$connection = ConnectionManager::get('default');
$connection->begin();
try {
//Some logic here to create entities, validate and save them
//This code can throw exceptions
$connection->commit();
}
catch (Exception $e) {
$connection->rollback();
}
Это правильный способ использовать транзакции в CakePHP?Если действительно выдается исключение, транзакция корректно откатывается, но появляется предупреждение:
Warning: The connection is going to be closed but there is an active transaction.
Полагаю, я где-то упускаю важный момент, потому что не понимаюпочему выдается это предупреждение.Я всегда думал, что либо commit()
, либо rollback()
закроют транзакцию.Я не прав?