【发布时间】:2020-03-05 13:42:39
【问题描述】:
当我尝试更新用户数据并让密码字段为空时,它再次散列,这意味着密码将更改并且您无法再次登录 那么有什么办法可以解决这个问题吗??
代码
$this->validate($request, [
'first_name'=> 'required|string',
'last_name' => 'required|string',
'email' => 'required|email|unique:users,email,'.Auth::id(),
'password' => 'sometimes|nullable|string|min:8,'.Auth::id(),
'avatar' => 'image|mimes:jpg,jpeg,gif,png,svg|max:2048,'.Auth::id(),
'gender' => 'required',
'country_id'=> 'required',
]);
$user = User::find(Auth::id());
$user->first_name = $request->first_name;
$user->last_name = $request->last_name;
$user->email = $request->email;
$user->gender = $request->gender;
$user->country_id = $request->country_id;
$user->password = bcrypt(request('password'));
if($request->hasFile('avatar')){
$avatar = $request->file('avatar');
$filename = time() . '.' . $avatar->getClientOriginalExtension();
Image::make($avatar)->resize(300, 300)->save( public_path('/images/avatars/' . $filename ) );
$user->avatar = $filename;
}
$user->save();
return redirect()->back();
【问题讨论】:
-
向我们展示一些代码。更新的控制器方法,您正在发送的数据......
-
@N69S 我更新问题
标签: mysql laravel laravel-5 laravel-6 laravel-6.2