空变量的未定义索引(不是必需的输入)

时间:2016-01-05 00:15:43

标签: angularjs laravel

我正在学习angularjs和laravel。基本上我使用角度来获取表单中的数据,然后将其发送到laravel以获取我的变量而不是创建记录,问题是一个输入字段(移动),如果我填充移动输入它不会给我任何问题,但如果我把它留空(因为不是必需的输入),它无法创建记录并给我一个未定义的索引。

如果我的案例中的一个变量为空或未创建,我怎么能在Laravel中创建记录呢?

php代码:

public function registerUser($inputData)
    {
        $user = \DB::transaction(function () use ($inputData)
        {

            $user = User::create([
                'email'              => $inputData['user']['email'],
                'name'               => $inputData['user']['name'],
                'surname'            => $inputData['user']['surname'],
                'mobilephone'        => $inputData['user']['mobilephone'],
                'birth_date'         => Carbon::createFromFormat('d-m-Y', $inputData['user']['birth_date']),
            ]);


            $user->save();


            //Return the User
            return $user;
        });

        //Return the User instance
        return $user;
    }

1 个答案:

答案 0 :(得分:0)

根据您的描述,当您不填写手机号码时,前端不会发送包含“$ inputData ['user'] ['mobilephone']”的对象。这会导致脚本出错并阻止其运行。请发布负责传输用户信息的角度代码。

如果我的假设是正确的,您需要在引用它们之前检查$ inputData中是否存在这些属性,或者在没有提供值时让前端添加虚拟值。

OR 持有记录(MySQL或其他)的内容可能不允许此字段为空,这将再次阻止插入。但你的描述表明这不是它。