У меня проблема с транзакцией в коде воспламенителя. Интересно, как правильно использовать транзакцию в этом случае:
foreach (items) {
$this->db->trans_begin();
addItemToArrayTotal_1();
$items = getItem();
if (items == null) {
addItemToArrayTotal_2();
if (!updateTask_1()) {
addItemToArrayTotal_3();
}
continue;
}
if (updateTask_2()) {
addItemToArrayTotal_4();
if (!updateTask_3()) {
addItemToArrayTotal_5();
}
if (updateTask_4()) {
addItemToArrayTotal_6();
}
}
addItemToArrayTotal_7();
}
- addItemToArrayTotal _? () - это просто интеграция функций с массивом, а не с данными.
- updateTask _? () - это функции взаимодействия с данными.
Я хочу обработать один за другим элементы и произойдет откат в случае возникновения ошибки. Подскажите пожалуйста для меня как откатить данные?