Laravel передать массив из формы и разобрать в контроллере - PullRequest
0 голосов
/ 21 января 2019

У меня есть массив входов, как показано ниже:

<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' />

В моем контроллере мне нужно пройтись по массивам и сохранить их в базе данных со столбцами name и title

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 голосов
/ 21 января 2019

Может быть проще сделать это с парой массивов.

$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, но, как у вас это было выше, оно будет переписываться, поэтомуЯ сделал это массивом, чтобы подчеркнуть это.

Кроме того - вам нужно поставить некоторую проверку ошибок на количество заголовков, чтобы убедиться, что они == имена, иначе у вас может быть неправильный индекс в массиве заголовков, возможно.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...