Транзакции
Транзакции — серия SQL-запросов, которые должны выполниться. Если в одном из запросов происходит ошибка, отменяется вся транзакция, т.е. база данных приобретает вид до начала выполнения транзакции.
Транзакции полезны при совершении оплаты. Например, надо перевести 10 000 руб с одного пользователя другому. Код списания может выполниться, а в коде зачисления может случиться ошибка, и тогда пользователь просто потеряет 10 000 руб. В случае транзакции, при ошибки все операции отменятся.
Транзакции выполняются через метод DB::transaction()
.
use Illuminate\Support\Facades\DB; // … DB::transaction(function() { DB::table('users')->where(['id' => 5])->update(['balance' => 5000]); DB::table('users')->where(['id' => 12])->update(['balance' => 10000]); });
Поддержать автора