Laravel从表单传递数组并在控制器中解析

时间:2019-01-20 23:16:04

标签: php arrays laravel forms post

我有以下类似的输入数组:

<input type='hidden' name='sheepNames[]' value='bab' />
<input type='hidden' name='sheepNames[]' value='harry' />
<input type='hidden' name='sheepTitles[]' value='leader' />
<input type='hidden' name='sheepTitles[]' value='sheep' />

在我的控制器中,我需要遍历数组并将它们保存在具有列nametitle的数据库中

bab | leader <br>
harry | sheep
  $array = $request->get('sheepNames');

  foreach($array as $i => $item)
  {
    $tb_name->name= $array[$i];
    $tb_name->title= $request->get('sheepTitles')[$i];
  }

尝试了多种访问数组的方法,但似乎无法弄清楚。

1 个答案:

答案 0 :(得分:0)

使用两个数组可能更容易做到这一点。

$names = $request->get('sheepNames');
$titles = $request->get('sheepTitles');

$max = count($names);
for ($x = 0; $x <= $max; $x ++){
    $tb_name[$x]['name']= $names[$x];
    $tb_name[$x]['title'] = $titles[$x];
}

我不知道$ tb_name是什么,但是上面的方式,它会不断被覆盖,因此我将其作为一个数组来说明这一点。

此外-您需要对标题计数进行一些错误检查,以确保它们==名称,否则,标题数组上的索引可能会损坏。