Я использую поля ввода для добавления / удаления с помощью jquery, и возникают проблемы, когда я хочу обновить значения.
В методе store () foreach l oop извлекает все поля ввода, которые я добавил, в то время как в методе update () foreach l oop извлекается только первый ввод.
Как я могу это исправить?
У меня есть две таблицы атрибутов (id, name) и attribute_option (id, attribute_id, attribute_value ").
В edit.balde. php
<script type="text/javascript">
$("#add").click(function(){
addRow();
}}
function addRow(){
$("optionsTable").append('<tr><td><input type="text" name="value[]" class="form-control"</td><td><button type="button" class="remove-tr">Remove</button></td></tr>);
};
$(document).on('click','.remove-tr', function(){
$(this).parents('tr).remove();
});
</script>
<button type="button" id="add">Add row</button>
@foreach($attribute_options as $key=>$option)
<tr>
<td>
<input type="hidden" name="option_id[]" value="{{ $option->id }}">
<input type="text" name="value[]" value="{{ $option->attribute_value }}">
</td>
<td>
<button type="button" class="remove-tr">Remove</button>
</td>
</tr>
@endforeach
в обновлении действия моего контроллера ()
if($request->has('value)){
$options = $request->value;
$option_id = $request->option_id;
foreach($options as $value){
AttributeOption::where('id','=',$option_id)->update(array(
'attribute_value' => $value
));
}
}