Laravel:一对多关系数据更新

时间:2018-04-16 10:21:15

标签: php arrays database laravel laravel-5.5

我有以下代码:

foreach ($request->dog_vaccine_required as $key => $vaccine) {
    $serviceVaccination = \App\UserServiceVaccination::updateOrCreate([
        'user_service_id' => $id,
        'vaccine_id' => $vaccine
    ],[
        'specie' => 'Dog',
        'user_service_id' => $id,
        'vaccine_id' => $vaccine,
        'duration_6' => $request->dog_duration_6[$key],
        'duration_12' => $request->dog_duration_12[$key],
        'duration_36' => $request->dog_duration_36[$key]
    ]);
}

现在来自表单的数据是:

Form data

它给了我例外:

  

未定义的偏移量:2

请求dog_duration_6dog_duration_12dog_duration_36数组在元素大小方面可能不同,

如何传递null以避免异常Undefined offset: 2

2 个答案:

答案 0 :(得分:2)

只需添加支票,以避免偏移异常。:

isset($request->dog_duration_6[$key]) ? $request->dog_duration_6[$key] : null

对所有人来说。

答案 1 :(得分:0)

'duration_6' => $request->dog_duration_6[$key] ?? null,