Мне нужно запустить работу Laravel в рамках транзакции.
Поскольку задания асинхронные, иногда они завершаются до фиксации транзакции.В таких ситуациях задание не может получить соответствующее сырье, используя идентификатор.(Поскольку транзакция еще не зафиксирована, а изменения не видны извне)
Пожалуйста, предложите метод, отличный от размещения этой части вне транзакции, для решения этой проблемы.
DB::beginTransaction()
...
$process = DB::table("trn_users")->insertGetId([
"first_name" => $first_name,
"last_name" => $last_name
]);
$job = (new SendEmailJob([
'Table' => 'trn_users',
'Id' => $process
]))->onQueue('email_send_job');
$this->dispatch($job);
...
DB:commit()