Начать работу с транзакцией [PHP Laravel] - PullRequest
0 голосов
/ 18 февраля 2019

Мне нужно запустить работу 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()
...