如果用户未在密码字段laravel 5.3中给出任何值,则不应更新密码

Ram*_*ood 2 php laravel

我正在编辑配置文件,我希望如果用户没有在密码字段中给出任何值,如果用户没有输入任何值,那么密码不应该更新,然后密码自动更新

这是我的方法

    {
$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)

请帮助解决问题谢谢

Ale*_*nin 5

你可以这样做:

'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)