Да, работает как с фасадом БД, так и с вашими Красноречивыми моделями.
(В вашем примере, соединение, используемое будет по умолчанию, так что вы все в порядке.)
Не забудьте DB::commit();
когда это нормально совершить!
Кроме того, ваш движок базы данных базы данных должен поддерживать транзакции, такие как InnoDB.
Предложение, вы можете также использовать метод проще, транзакции
DB::transaction(function() {
eloquentModel::query();
});
Кроме того, не бойтесь, чтобы проверить это, просто чтобы повысить уровень доверия. Скажем, provoque ошибки, чтобы увидеть его работу
DB::beginTransaction();
try {
eloquentModel::query();
eloquentModel::create(['field_not_exists' => 'will throw exception!']);
} catch (\Exception $e) {
// DB::rollback(); // test with comment, and without comment, check DB for results ;)
}
DB::commit();
Счастливого кодирования!
Полезный. благодаря! – SJB