В laravel 5.5 с MySQL я использую \Illuminate\Support\Facades\DB
создавать транзакции таким образом:
DB::transaction(function() {
...
});
Каков уровень изоляции для такой транзакции и есть ли способ установить его явно?
По умолчанию в SqlLite является
'BEGIN IMMEDIATE TRANSACTION';
По умолчанию в MySQL является
'SET TRANSACTION ISOLATION LEVEL READ COMMITTED';
Вы можете установить его самостоятельно, сделав что-то вроде этого
$pdo = DB::connection()->getPdo();
$pdo->exec('SET TRANSACTION ISOLATION LEVEL READ COMMITTED');
Других решений пока нет …