如果没有值或null laravel,则不要更改该值

问题描述 投票:2回答:1

我正在开发一个Laravel项目,当我没有填写密码字段时,我在更新用户方面遇到了一些问题:这是我的UserRequest更新代码

    elseif($this->method() == 'PATCH')
    {
        return [
            'user_name' => 'required|max:40|min:1|unique:users,user_name,'.$this->id,
            'user_email' => 'required|email|max:40|min:3|unique:users,user_email,'.$this->id,
            'user_phone' => 'required|max:40|min:1',
            'password' => 'nullable|min:3',
            'image' => 'nullable|image|mimes:jpg,jpeg,gif,png|max:2048',
        ];              
    }

现在我的问题是当有人提交没有正确密码的表单时,它会将密码更改为空值,而我需要的只是更改旧值,如果有来自请求的值,如果它不只是留下旧的并且不得到null从请求谢谢

laravel validation request
1个回答
3
投票

显然在存储之前只需检查:

if($request->filled('password') )
{
    $user->update(['email'=>$request->email, 'password'=>bcrypt($request->password)];
}
 //otherwise just save the other data without password ! 

使用filled()方法如果要确定请求中是否存在值且不为空。

© www.soinside.com 2019 - 2024. All rights reserved.