我有一个数组,其中的请求数据具有以下名称和姓氏数组:
"name" => array:2 [▼
1 => array:1 [▼
1 => "Jake"
]
4 => array:1 [▼
1 => "John"
]
]
"surname" => array:2 [▼
1 => array:1 [▼
1 => "W"
]
4 => array:1 [▼
1 => "K"
]
]
]
我想在参与者表中插入每个参与者的姓名,姓氏和registration_type_id。这样看来,可以存储每个参与者的姓名和姓氏。但是如何获取每个参与者的registration_type_id(在这种情况下,Jke为1,John为4)?
foreach ($request->all()['name'] as $key => $name) {
$participant_result = Participant::create([
'name' => $name[1],
'surname' => $request['surname'][$key][1],
'registration_type_id' => how to get this???
]);
}
参与者Jake的registration_tpye_id为“ 1”,而约翰为“ 4”,就像在数组中一样:
"name" => array:2 [▼
1 => array:1 [▼
1 => "Jake"
]
4 => array:1 [▼
1 => "John"
]
]
"surname" => array:2 [▼
1 => array:1 [▼
1 => "W"
]
4 => array:1 [▼
1 => "K"
]
]
附加提供的示例数据
"name" => array:2 [
1 => array:2 [
1 => "Jake"
2 => "John"
]
4 => array:1 [
1 => "Adam"
]
]
"surname" => array:2 [
1 => array:2 [
1 => "W"
2 => "K"
]
4 => array:1 [
1 => "L"
]
]
答案 0 :(得分:1)
只需在foreach循环中使用$key
变量。
...
'registration_type_id' => $key
...
更新:-根据提供的数据集,您必须按如下所述对其进行解析。
foreach ($request->all()['name'] as $key => $nameArray) {
foreach ($nameArray as $nameKey => $name) {
$participant_result = Participant::create([
'name' => $name,
'surname' => $request['surname'][$key][$nameKey],
'registration_type_id' => $key
]);
}
}
为什么:-:由于用户以其用户ID作为键,在registration_type_id
下分组为一个子数组(我想,虽然不确定这样命名他们{ {1}} ),我们还必须遍历子数组。