我有一个用户表,我有一个表单来更新用户配置文件:
当" 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'
]);
答案 0 :(得分:1)
尝试
$user->save();
这是一个功能。
答案 1 :(得分:1)
尝试:
$user->save();
你可以使用on if
if($user->save()){
// success message
} else {
// error message
}