Всем привет! Подскажите пожалуйста, в чем может быть проблема. В основной моделе прописываю:
public function transactions()
{
return [
self::SCENARIO_CREATE => self::OP_ALL,
];
}
в поведении на afterSave вешаю создание данных в связанную таблицу, но если данные для связанных таблиц не проходят валидацию, то через $this->owner->addError() добавляю ошибки, но при этом основная модель записывается в БД, т.е. транзакция не прерывается, есть ли способ без выкидывания исключения откатить транзакцию?
Впервые узнал что там, в моделях есть вообще такой метод 😅 transactions. И плохо представляю как обернуть все действия в транзакцию, когда связанные сущности по поведению сохраняются если только изначально перед save открыть транзакцию, а в поведении перед сохранением должна изначально проводится валидация всех моделей, короче что-то слишком сложно...