2 回答

TA贡献1858条经验 获得超8个赞
试试这个代码。我假设你的表名是“accounts”
$result = DB::transaction(function () use ($request) {
$data = new User;
$data->name = $request->name;
$data->other_values = $request->values;
$data->save();
DB::table('accounts')->insert(['user_id' => $data->id, 'balance' => '0', 'amount' => '0']);
return true;
}, 5);
if($result) {
// Redirect after successful execution
return redirect()->route('users.create');
} else {
// Redirect after unsuccessful execution
Session::flash('failed','Oops, accounts not created for new user');
return redirect()->route('previous.route');
}
在查看文件中
@if (session('failed'))
<div class="alert alert-danger">
{{ session('failed') }}
</div>
@endif

TA贡献1829条经验 获得超13个赞
try {
DB::beginTransaction();
$newUser = User::create($request->all());
$newAccounts = Accounts::create([
'user_id' => $newUser->id,
'balance' => '0',
'amt' => '0',
]);
DB::commit();
} catch (\Exception $e) {
DB::rollback();
throw new \Exception('accounts not created for new user');
}
- 2 回答
- 0 关注
- 82 浏览
添加回答
举报