Я создаю приложение, в котором, если пользователь хочет обновить какие-либо записи, пользователь может редактировать и обновлять, а также добавлять дополнительные поля во внешнем интерфейсе, чтобы данные, введенные в поля, можно было добавлять в записи и, если пользовательОтредактировано все, что тоже может обновляться успешно изменено.
Итак, существуют тесты (вопросы), которые должен выполнять пользователь, и каждый тест имеет опции, аналогичные экзамену.
Когда я пытаюсь что-либо изменить и нажимаю на кнопку обновления, запись успешно обновляется, но если я добавляю новый ввод как часть формы, он только обновляет запись и не добавляет новую.
Это мой HTML:
<table class="table table-bordered">
<thead>
<tr>
<th>#</th>
<th>Contraceptive pill</th>
<th>UID</th>
<th>Implant</th>
<th>Injectable</th>
<th>Male condom</th>
<th>Female condom</th>
<th>Fertility awareness</th>
<th>Withdrawal</th>
<th>Sterilization</th>
<th>Emergency contraceptive</th>
<th>Actions</th>
</tr>
</thead>
<tbody id="test-inputs">
@foreach($Test0ptions as $option)
<tr>
<td></td>
<td>
<input class="form-control" type="number" name="contraceptive_pills[]" required value="{{ $option->contraceptive_pill }}">
</td>
<td>
<input class="form-control" type="number" name="uids[]" required value="{{ $option->uid}}">
</td>
<td>
<input class="form-control" type="number" name="implants[]" required value="{{ $option->implant}}">
</td>
<td>
<input class="form-control" type="number" name="injectables[]" required value="{{ $option->injectable}}">
</td >
<td>
<input class="form-control" type="number" name="male_condoms[]" required value="{{ $option->male_condom}}">
</td>
<td>
<input class="form-control" type="number" name="female_condoms[]" required value="{{ $option->female_condom}}">
</td>
<td>
<input class="form-control" type="number" name="fertility_awareness[]" required value="{{ $option->fertility_awareness}}">
</td>
<td>
<input class="form-control" type="number" name="withdrawals[]" required value="{{ $option->withdrawal}}">
</td>
<td>
<input class="form-control" type="number" name="sterilizations[]" required value="{{ $option->sterilization}}">
</td>
<td>
<input class="form-control" type="number" name="emergency_contraceptives[]" required value="{{ $option->emergency_contraceptive}}">
</td>
</tr>
</tbody>
</table>
<div class="form-group" style="padding-bottom: 10px;">
<button type="submit" class="btn primary"><i class="fa fa-save"></i> Update</button>
</div>
Это мой скрипт, который добавит новый набор форм:
populateNewTestForms() {
$('#test-inputs').append(`
<tr>
<td>${this.incrementTableCounter+=1}</td>
<td><input class="form-control" type="number" name="contraceptive_pills[]" required> </td>
<td> <input class="form-control" type="number" name="uids[]" required> </td>
<td> <input class="form-control" type="number" name="implants[]" required> </td>
<td> <input class="form-control" type="number" name="injectables[]" required> </td>
<td> <input class="form-control" type="number" name="male_condoms[]" required> </td>
<td> <input class="form-control" type="number" name="female_condoms[]" required> </td>
<td> <input class="form-control" type="number" name="fertility_awareness[]" required> </td>
<td> <input class="form-control" type="number" name="withdrawals[]" required> </td>
<td> <input class="form-control" type="number" name="sterilizations[]" required> </td>
<td> <input class="form-control" type="number" name="emergency_contraceptives[]" required>
</td>
<td>
<button type="button" onclick=" $(this).closest('tr').remove(); " class="btn btn-danger" title="delete"><i class="fa fa-trash"></i></button>
</td>
</tr>
`);
Это мой контроллер:
foreach ($request->option_ids as $option_id) {
TestOption::updateOrCreate(['id' => $option_id], [
'test_id' => $test->id,
'name' => $request->names[$i],
'contraceptive_pill' => $request->contraceptive_pills[$i],
'uid' => $request->uids[$i],
'implant' => $request->implants[$i],
'injectable' => $request->injectables[$i],
'male_condom' => $request->male_condoms[$i],
'female_condom' => $request->female_condoms[$i],
'fertility_awareness' => $request->fertility_awareness[$i],
'withdrawal' => $request->withdrawals[$i],
'sterilization' => $request->sterilizations[$i],
'emergency_contraceptive' => $request->emergency_contraceptives[$i]
]);