Laravel 5 - 在交易中获取新插入的ID?

Won*_*nka 3 laravel laravel-5

所以我正在运行一个应该创建用户的事务,并使用新的用户ID激活事件以执行其他操作,包括创建一个设置表,其中设置表中的外键user_id是新创建的user_id(提供事务)当然是作品).

这是我到目前为止:

DB::beginTransaction();

try {
    DB::table('users')->insert([
              'email' => $email,
              'password' => $password
    ]);

    event(new UserWasStored($newUserId)); // How do I get the $newUserId?
}
catch(\Exception $e) {
    DB::rollback();
}

DB::commit();
Run Code Online (Sandbox Code Playgroud)

如何$newUserId在事务中获取传递给事件?

Paw*_*zad 7

根据文档, 您应该使用该insertGetId方法

$newUserId= DB::table('users')->insertGetId([
    'email' => $email,
    'password' => $password
]);
Run Code Online (Sandbox Code Playgroud)