将表单转发器值作为数组提交并遍历每个值



>我有一个这样的表单中继器 表单转发器图像

提交代码(应始终相同(产品名称和数千个数量。

  • 代码-1234 产品手册数量 - 5000
  • 代码-1234 产品-笔数量 -3000
  • 代码-1234 产品标尺数量 -2000

我想将上述所有数据作为 JSON 提交给 DB,在本例中,每个项目总数为 10,000 个递增 ID,每个 ID 旁边的产品名称。产品名称应在其特定数量结束的地方结束,例如,当 id 达到 5000 时,下一个 id 应为 5001,并且名称开始显示笔。

我试过这个'

//array submited from form
$array = $request->get('arrayName');
foreach ($array as $key => $value) {
$items[] = $value['no_of_items'];
$a_sum = array_sum($items);
$length = 15;
$string = bin2hex(openssl_random_pseudo_bytes($length));
$maxNumberOfItems = $a_sum;
for ($a = 0; $a <= $maxNumberOfItems; $a++) {
if ($a <= reset($items) && $a === $maxNumberOfItems) {
$a = reset($items);
}
echo +$a . " => " . $value['item'] . "<br> ";
$temp = bin2hex(openssl_random_pseudo_bytes($length));
$coupons[] = [
'id' => +$a,
'item' => $value['item'],
'code' => $temp,
'item_status' => 'in-store',
];
}`

它正确显示名称,但不自动递增 id,如上所述。当它达到 5000 时,下一项从 0 而不是 5001 开始。任何帮助将不胜感激。

您可能需要手动获取 MAX(id( 并执行以下操作:

对于 ($a = $maxId; $a <= $maxNumberOfItems + $maxId; $a++(

最新更新