I made a repeater field with jquery repeater in laravel blade and want to save it as an array in the store function. However it is saved as an empty values.
<div class="repeater-default">
<div data-repeater-list="cage" class="drag">
<div data-repeater-item="">
<div class="form-group">
<label class="col-sm-1 control-label">Make</label>
<div class="col-sm-2">
<select name="cage[0][level]" class="form-control">
<option value="low">low</option>
<option value="middle" selected="">middle</option>
<option value="high">high</option>
</select>
</div>
<label class="col-sm-1 control-label">Comment</label>
<div class="col-sm-2">
<input type="text" name="cage[0][comment]" value="Comment" class="form-control">
</div>
<div class="col-sm-2">
<span data-repeater-delete="" class="btn btn-danger btn-sm">
<span class="glyphicon glyphicon-remove"></span> Delete
</span>
</div>
</div>
</div>
<div data-repeater-item="">
<div class="form-group">
<label class="col-sm-1 control-label">Type of Vaccine</label>
<div class="col-sm-2">
<select name="cage[1][level]" class="form-control">
<option value="low">low</option>
<option value="middle" selected="">middle</option>
<option value="high">high</option>
</select>
</div>
<label class="col-sm-1 control-label">Comment</label>
<div class="col-sm-2">
<input type="text" name="cage[1][comment]" value="Comment" class="form-control">
</div>
<div class="col-sm-2">
<span data-repeater-delete="" class="btn btn-danger btn-sm">
<span class="glyphicon glyphicon-remove"></span> Delete
</span>
</div>
</div>
</div>
</div>
<div class="form-group">
<div class="col-sm-offset-1 col-sm-11">
<span data-repeater-create="" class="btn btn-info btn-md">
<span class="glyphicon glyphicon-plus"></span> Add
</span>
</div>
</div>
<hr>
</div>
In the controller -> store function I have it now like this. It saves as an array but with empty values.
$level = $request->level;
$comment = $request->comment;
$data=[];
foreach ($validated['cage'] as $cage) {
$data[]=[
'level' => $level,
'comment' => $comment,
];
}
$validated['cage'] = $data;
This is the output
[{"level":null,"comment":null},{"level":null,"comment":null}]
I probably call $level and $comment in a wrong way. Thank you in advance!