Я знаю, как использовать lockForUpdate, если я просто выбираю модель, а затем обновляю ее. Это работает нормально, и я делаю это так:
DB::beginTransaction();
$myModelObject = MyModel::lockForUpdate()->find($id);
$myModelObject->any_attribute = 'some Text';
$myModelObject->save();
DB::commit();
Но как мне добиться блокировки для обновления, если я хочу обновить сводную таблицу следующим образом:
$user->roles()->syncWithoutDetaching([$roleId => [
'attribute_1' => $test1,
'attribute_2' => $test2
]]);
Это не ясно мне, где разместить «beginTransaction» и «commit», и где я должен использовать метод «lockForUpdate» здесь. Спасибо за любую помощь!