2
У меня есть проблема с сделкамиZend Framework сделки (Zend_Db_Adapter)
$backendB = new BackendBanner();//BackendBanner and ImageBanner extends Zend_Db_Table_Abstract
$backendB->getAdapter()->beginTransaction(); // starting transaction
try {
$backendB->getAdapter()->insert('module_adv_banner',$data);
$lastID = $backendB->getAdapter()->lastInsertId();
$imageBanner = new ImageBanner();
$imageBanner->getAdapter()->insert('module_adv_filebanner',$imgdata);
$imageBanner->getAdapter()->commit();
} catch (Exception $e) {
$backendB->getAdapter()->rollBack();
echo $e->getMessage();
}
Когда это действие контроллера выполняется, у меня есть ошибка SQL во втором операторе вставки:
SQLSTATE[42S22]: Column not found: 1054 Unknown column 'id_banner1' in 'field list'
Но откате не работает , первый запрос на вставку выполнен успешно, а строка вставлена в таблицу.
Что делать неправильно?
В какой базе данных вы используете? Если это mysql - какой механизм хранения используется для ваших таблиц? – zerkms
Столбец был MyISAM, который не работает с транзакциями. Изменен для InnoDB, и все в порядке. – Ahmed
Вы проверяете, действительно ли 'id_banner1' присутствует или определен в вашей модели во время ввода? – Starx