我正在学习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;
}
答案 0 :(得分:0)
根据您的描述,当您不填写手机号码时,前端不会发送包含“$ inputData ['user'] ['mobilephone']”的对象。这会导致脚本出错并阻止其运行。请发布负责传输用户信息的角度代码。
如果我的假设是正确的,您需要在引用它们之前检查$ inputData中是否存在这些属性,或者在没有提供值时让前端添加虚拟值。
OR 持有记录(MySQL或其他)的内容可能不允许此字段为空,这将再次阻止插入。但你的描述表明这不是它。