いつもお世話になっております。
Laravel5.8/php7.3 にて開発をしております。
複数テーブルのinsertの処理があったので\DB::transactionを使ってトランザクションの処理を行っております。

ローカル環境では、なんの問題もなく複数テーブルの登録が出来たのですが、本番環境にアップするとなぜか登録がされない状況です。

function __invoke() {
    $uesr = $this->store();
    var_dump($user); // <- 登録した内容が取得出来ているし、新規登録されたIDも発番されている
}
function store() {
    return \DB::transaction(function () use () {
        $data = ['email'=>'test@mail.com', name'=>'test'];
        $user = new User;
        $user->fill($data)->save();

        $post = Post::create(['user_id'=>$user->id]);
        return $user;
    });
}

上記のように、transactionの処理が完了し、var_dumpでは新規に発番されたIDの取得は出来ております。
ただ、データベースには登録されておらず、ロールバックされてしまっているような動きをしております。

  • トランザクションの処理をやめれば、正常に登録される
  • トランザクション内でエラー(Exception)発生時にはvar_dumpまでは表示されないこと

などは、確認しているのですが、他に確認する点、修正すべき点等がございましたら、ご教授頂けますと幸いでございます。

何卒、よろしくお願いいたします。