Laravel/Elofent 5 транзакции откатились назад, не поддерживая сохранениеPhp

Кемеровские программисты php общаются здесь
Ответить
Anonymous
 Laravel/Elofent 5 транзакции откатились назад, не поддерживая сохранение

Сообщение Anonymous »

Похоже, у меня возникают проблемы с привлечением транзакций базы данных для работы над моделью. Я упоминал о соответствующих сообщениях, но пока не повезло. < /P>

В моем примере я создаю новую запись в DB. Я должен быть в состоянии отказ, и новая запись должна была исчезнуть, не так ли? < /P>

Код: Выделить всё

        try{
DB::beginTransaction();

$oNewMap = $oMap->replicate();
$oNewMap->name = "[test] " . $oNewMap->name;
$oNewMap->save();  // works

DB::rollBack();  / /record still in db
}
catch(\Exception $e){
DB::rollBack();
/* Transaction failed. */
}
Когда произошел откат, почему сохраненная запись не исчезла из БД? Я что-то упускаю из того, как модели работают с транзакциями?

Кстати, все физические таблицы созданы в InnoDB.

[ОТРЕДАКТИРОВАНО: чтобы упростить проблему до простого сохранения и отката, не выполнять два сохранения, если второе сохранение нарушает ограничение FK.]

Подробнее здесь: https://stackoverflow.com/questions/513 ... cking-save
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Php»