# Examples 1. Уточнение заказа: * сменить статус * добавить event * дёрнуть по api ```cpp $orderService->toBO(Entity $order) { try { $this->db->beginTransaction(); $this->orderWriter->toBO($order, ['status' => 11]); $this->eventService->addEvent(Event::CODE_TOBO, [...]); $this->db->commit(); } catch(Exception $e) { $this->logger($e->getMessage()); $this->db->rollback(); } } ``` 2. Например запускаю пересчёт параметров рейтинга. Возможно ли как-то получить кол-во инсёртов / апдейтов, весь список или ещё что-то. Возможно это другими средствами стоит делать https://github.com/auraphp/Aura.Sql/blob/3.x/docs/profiling-logging.md ```cpp // activate the profiler $pdo->getProfiler()->setActive(true); // ... // query(), fetch(), beginTransaction()/commit()/rollback() etc. // ... // now retrieve the array messages from the default memory logger: $messages = $pdo->getProfiler()->getLogger()->getMessages(); print_r($messages); ``` 3. В идеале вообще dry-run уметь делать с выводом всех запросов Вариант 0 -- собирать руками и делать как сейчас `if($inx) { ... }` Вариант 1 -- делать rollback + profiling (см выше) чтобы вытащить запросы Вариант 2 -- переключать базу? Есть движок blackhole у [mysql](https://dev.mysql.com/doc/refman/8.0/en/blackhole-storage-engine.html) Оба варианта кривенькие. 4. Как в класс сущности добавить любые public/private/protected свойства или методы, не нарушая при этом логику работы сущности? Вроде не должно ничего ломаться - см `Dataq->getUpdtDateTime();`