Как вставить несколько данных в laravel6.0 - PullRequest
0 голосов
/ 12 марта 2020

Вот мой вид.

 @foreach($units as $unit)
    <tr>
      <td><input type="text" name="name{{$unit -> id}}" value="{{$unit -> name}}"/></td>
      <td><input type="text" name="value{{$unit -> id}}" value="{{$unit -> value}}"/></td>
      <td><button onclick = "delete(this)"></button></td>
    </tr>
 @endforeach

Когда я публикую его, я хочу вставить все данные в базу данных. Проблема в том, что мы можем удалить один столбец в табличном теге.

Таким образом, мы можем использовать for() или foreach() в Controller. Поэтому я попытался сделать так. Я публикую id из unit как массив. А в контроллере я использовал for() и пытался получить имя тега вот так.

 for ($k = 1; $k <= count($unitArray); $k++){
        $unitType = new UnitType();
        $unitTypeName = 'unitTypeName-' . $k;
        $unitTypeValue = 'unitTypeValue-' . $k;
        $unitType -> name = $request->input($unitTypeName);
        $unitType -> value = $request->input($unitTypeValue);
        $unitType -> save();
    }

Но я не добился успеха. Пожалуйста, дайте мне знать, если у вас есть хорошее решение. С уважением.

Ответы [ 2 ]

0 голосов
/ 12 марта 2020

Я нашел решение. Мы можем использовать одно и то же имя для нескольких входных тегов, и они публикуются как массив для контроллера. Так что мы можем использовать его.

 @foreach($units as $unit)
<tr>
  <td><input type="text" name="name[]" value="{{$unit -> name}}"/></td>
  <td><input type="text" name="value[]" value="{{$unit -> value}}"/></td>
  <td><button onclick = "delete(this)"></button></td>
</tr>
 @endforeach

И контроллер In.

 $name = $request -> name;
 $value = $request -> value;
 for($i = 0; $i<count($name);$i++){
   $unit=new UnitType();
   $unit->name=$name[$i];
   $unit->value=$value[$i];
   $unit->save();
 }

Еще раз спасибо, господин Дэвид.

0 голосов
/ 12 марта 2020

Это мое простое решение, ваше входное имя не отображается.

 for ($k = 1; $k <= count($unitArray); $k++){
    $unitType = new UnitType();
    $unitTypeName = 'name' . $k;
    $unitTypeValue = 'value-' . $k;
    $unitType -> name = $request->input($unitTypeName);
    $unitType -> value = $request->input($unitTypeValue);
    $unitType -> save();
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...