我正在编辑配置文件,我希望如果用户没有在密码字段中给出任何值,如果用户没有输入任何值,那么密码不应该更新,然后密码自动更新
这是我的方法
{
$this->validate($request, [
'name' => 'required|max:255',
]);
$user = User::findOrFail($id);
$input = $request->all();
$user->fill([
'name' => $request->input('name'),
'password' => bcrypt($request->input('password')),
'def_timezone' => $request->input('def_timezone'),
'address_line_1' => $request->input('address_line_1'),
])->save();
session()->flash('msg',trans('successfully Updated.'));
}
Run Code Online (Sandbox Code Playgroud)
请帮助解决问题谢谢
你可以这样做:
'password' => $request->password ? bcrypt($request->password) : $user->password,
Run Code Online (Sandbox Code Playgroud)
此外,您可以使用update()方法而不是fill()和save().使用此方法,将忽略空值:
$user->update($request->all());
Run Code Online (Sandbox Code Playgroud)