我在angularjs中单击发送5个输入值。数据作为对象的对象发送。例如
Object{0:Object, 1:object, 2:Object .., 5:Object}
。
每个对象都有两个输入,分别是名字和姓氏。用户可以发送任何输入对。
我发送此邮件请求。现在在后端方面,我正在使用Laravel。我将这个对象存储在变量中 `$ X = $请求 - >输入('数据&#39);
我为每个创建新记录的对象循环它。
我面临的问题: 如果发送了所有对象,则将数据正确保存在数据库中。 但是如果其中一个对象为空,则Empty表示如果使用仅输入第二个输入和第三个输入,则将第一个,第三个和第五个输入留空。
然后laravel抛出未定义索引的错误,因为第一个对象没有收到第一个请求的任何名字或姓氏。那我怎么能解决这个问题。我希望它能够更新收到的字段。
答案 0 :(得分:1)
似乎你需要在持久化之前过滤掉空对象。
$data = $request->input('data');
$dataToSave = [];
foreach ($data as $value) {
if (!empty($value)) {
$dataToSave[] = $data;
}
}
// persist $dataToSave with your logic
最好将您的firstname
和lastname
更改为nullable
,以便接受null
值
答案 1 :(得分:0)
检查ajax函数中的输入值并仅传递这些键值