更新未更新,但会显示成功消息

时间:2018-03-29 22:48:23

标签: php laravel

我有一个用户表,我有一个表单来更新用户配置文件:

当" udpate"按钮被点击它出现成功消息,但在数据库上没有更新,也在表单字段上没有出现更改。

你知道为什么吗?

<form method="post" action="{{route('user.update')}}" class="clearfix">
    {{csrf_field()}}
    <div class="form-row">
        <div class="form-group col-md-6">
            <label for="name">Name</label>
            <input type="text" value="{{$user->name}}" name="name" class="form-control" id="name" placeholder="">
        </div>
        <div class="form-group col-md-6">
            <label for="surname">Surname</label>
            <input type="text" value="{{$user->surname}}" name="surname" class="form-control" id="surname" placeholder="">
        </div>
    </div>
    ...
    <input type="submit" value="Update"/>
</form>

更新控制器编辑和更新方法:

class UserController extends Controller
{
    public function index(){
        return view('users.index')->with('user', Auth::user());
    }

    public function update(Request $request){

        dd($request->all());

        $this->validate($request, [
            'name' => 'required',
        ]);

        $user = Auth::user();
        $user->name = $request->name;
        $user->surname = $request->surname;
        ...
        $user->save;
        Session::flash('success', 'Updated with success.');

        return redirect()->back();
    }
}

路线:

Route::get('/user/profile', [
    'uses' => 'UserController@index',
    'as'   =>'user.index'
]);
Route::post('/user/profile/update', [
    'uses' => 'UserController@update',
    'as'   =>'user.update'
]);

2 个答案:

答案 0 :(得分:1)

尝试

 $user->save();

这是一个功能。

答案 1 :(得分:1)

尝试:

$user->save();

你可以使用on if

if($user->save()){
    // success message
} else {
    // error message
}