我在任务中遇到了这种数组。这是一个多维数组。 在表单中,我有
particular [particular] []
特别[百分比] []
特别[备注] []
所以我正在做的是,我正在收到请求
$ inputs = $ request-> all();
这将返回
array:3 [▼
"particular" => array:3 [▶]
"percentage" => array:3 [▶]
"remarks" => array:3 [▶]
]
内部,每个都有
array:3 [▼
"particular" => array:3 [▼
0 => "11"
1 => "22"
2 => "33"
]
"percentage" => array:3 [▼
0 => "11"
1 => "22"
2 => "33"
]
"remarks" => array:3 [▼
0 => "na1"
1 => "na2"
2 => "na3"
]
]
我尝试循环播放
foreach ($inputs as $input) { dd($input); }
但是我只得到第一个“特殊” =>数组:3 [▶]
我要的是,我需要将这些值保存在数据库中
$particular = new Particular;
$particular->particular = particular;
$particular->percentage = percentage;
$particular->remarks = remarks;
$particular->save();
答案 0 :(得分:3)
dd
的意思是“转储和DIE”,因此您的脚本死在第一次迭代中。
您可以:
$particular = new Particular;
$particular->particular = $inputs['particular'];
$particular->percentage = $inputs['percentage'];
$particular->remarks = $inputs['remarks'];
$particular->save();
此外,如果您只需要转储某些内容-有一个dump
函数(惊奇!):
foreach ($inputs as $input) {
dump($input);
}
答案 1 :(得分:-1)
我设法找到了解决方案。我不知道这是否合适,但目前至少对我有用。
$array1 = $request->particular;
$array2 = $request->percentage;
$array3 = $request->remarks;
$merge = [$array1, $array2, $array3];
foreach ($merge[0] as $key => $value) {
$particular = new Particular;
$particular->particular = $merge[0][$key];
foreach ($merge[1] as $x => $y) {
$particular->percentage = $merge[1][$key];
}
foreach ($merge[2] as $i => $d) {
$particular->remarks = $merge[2][$key];
}
$particular->report_id = $report->id;
$particular->save();
}