首页 > 解决方案 > 无法使用 try catch 更新用户 laravel

问题描述

我很困惑。我认为我做的一切都是正确的,但我无法更新我的用户数据,这是我的

网页.php

Route::match(['put', 'patch'], '/is-active','Frontend\UserController@update')->name('user.active');

我不想使用资源,因为我必须自定义自己的路线。

HTML

 <form action="{{ route('user.active') }}" method="POST" enctype="multipart/form-data">
     {{ csrf_field() }}
    {{ method_field('PUT')}}
    <input type="submit">
</form>

控制器

 DB::beginTransaction();
    try {
        $user = User::find(Auth::id());
        $user->active = '3'; //waiting approve
        $user->save();
        dd($user->active,$user->save());
    } catch (Exception $e) {
        die($e->message());
        DB::rollback();
    }

这是我的输出dd()

3 , true

在我尝试删除 try catch 后,一切正常。为什么我不能在这个查询中使用 try catch ?

标签: phplaravel

解决方案


我想,你忘了在块DB::commit() 的末尾使用它try


推荐阅读