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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如果没有值或null laravel,则不要更改该值相关的知识,希望对你有一定的参考价值。

我正在开发一个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从请求谢谢

答案

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

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

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

以上是关于如果没有值或null laravel,则不要更改该值的主要内容,如果未能解决你的问题,请参考以下文章

Laravel 模型 - 如果数据库表不存在则返回 null

Velocity !$ 和$!区别

如果 id 不为 null 则返回,laravel 雄辩

Laravel 5:如果用户登录,则更改导航栏

如果列NOT NULL UNIQUE CLUSTERED INDEX将是主键,则可能的性能更改

如果数据库有更改,则再次执行脚本