Ситуация такая, к примеру у меня в админке ведется мониторинг каждого действия. Тоесть если я создаю или удаляю страницу, записи об этом летят в админ мониторинг. Это значит что мне нужна транзакция в каждом экшине.
Писать подобный код в каждом экшине не вариант
$transaction = $connection->beginTransaction();
try {
...
$transaction->commit();
} catch (Exception $e) {
$transaction->rollBack();
}
Я вот что-то слышал про события или может как-то можно провернуть такую штуку с помощью поведений, в общем подскажите пожалуйста как сделать транзакцию для всех экшинов ?