Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sqlite/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
laravel 5.2-检查字段是否为空_Laravel_Passwords_Field - Fatal编程技术网

laravel 5.2-检查字段是否为空

laravel 5.2-检查字段是否为空,laravel,passwords,field,Laravel,Passwords,Field,我想检查某个字段是否为空。如果为空,用户可以在不更改当前密码的情况下更新配置文件。 如果不为空,则存储密码的新值。我的控制器是: public function storeUpdatedUser(Request $request) { $this->validate($request, ['email' => 'required', 'name' => 'required', 'surname' => 'required', ]); $user = Us

我想检查某个字段是否为空。如果为空,用户可以在不更改当前密码的情况下更新配置文件。 如果不为空,则存储密码的新值。我的控制器是:

public function storeUpdatedUser(Request $request)
{
    $this->validate($request, ['email' => 'required', 'name' => 'required', 'surname' => 'required', ]);

    $user = User::findOrFail(Auth::user()->id);
    $user->update($request->all());
    $new_password = false;

    if($new_password != ""){
        $new_password = bcrypt($request->new_password);
        $user->password = $new_password;
    }

    $user->save();
    Session::flash('flash_message', 'User updated!');

    return redirect('/');           
}
但不工作,没有密码更改,如果我把一些价值 图像解释更好 试试这个:

公共函数StoreUpdateUser(请求$Request)
{
$this->validate($request,['email'=>'required','name'=>'required','姓氏'=>'required',]);
$user=user::findOrFail(Auth::user()->id);
$user->update($request->all());
如果(!empty($request->input('new_password')){
$new_password=bcrypt($request->input('new_password'));
$user->password=$new\u密码;
$user->save();
}
会话::flash('flash_message','User updated!');
返回重定向('/');
}

这就是我在Laravel 5.7中的工作原理:

$user = Auth::user();    
$user->update($request->filled('password') ? $request->all() : $request->except(['password']));

我试着谢谢你,但不起作用,旧密码仍然有效(->has('new_password')在我的系统中更干净eyes@shigg思考:如果新密码的值为0怎么办-O