Я использую Laravel 5.7.*
.
У меня есть form
, и это formItems
, Как form HasMany formItems
и formItems belongsTo form
, когда я нажимаю "Отправить", я вижу только в DB
один formItems
сохраняется, хотя я пытаюсь сохранить более одного formitem
.
Вот мой store method
:
public function store(Request $request) {
$formItems = collect();
// dd($request);
// dd($request->formItems);
// // dd($familymember);
foreach($request['formItems'] as $formItem) {
$formItems->push(new FormItem([
'family_name' => $formItem['family_name'],
'family_phone' => $formItem['family_phone'],
]));
}
$form = Form::create([
'user_phone' => $request['user_phone'],
'user_cnic' => $request['user_cnic'],
]);
$form->formItems()->saveMany($formItems);
}
Вот мой HTML для formItems
:
<form>
<fieldset>
<table class="table table-bordered fieldGroup">
<tbody>
<tr>
<td><input type="text" name="formItems[0][family_name]" class="form-control form-control-sm" placeholder="Full Name"></td>
<td><input type="text" name="formItems[0][family_phone]" class="form-control form-control-sm" placeholder="Phone"></td>
<td colspan="3">
<a href="javascript:void(0)" class="btn btn-success addMore"><span class="glyphicon glyphicon glyphicon-plus" aria-hidden="true"></span>+</a>
</td>
</tr>
</tbody>
</table>
<div class="form-group">
<div class="text-center">
<button class="btn btn-success" type="submit">Submit</button>
</div>
</div>
</fieldset>
</form>
<fieldset form="formId">
<table class="table table-bordered fieldGroupCopy" style="display: none;">
<tbody>
<tr>
<td><input type="text" name="formItems[0][family_name]" class="form-control form-control-sm" placeholder="Full Name"></td>
<td><input type="text" name="formItems[0][family_phone]" class="form-control form-control-sm" placeholder="Phone"></td>
<td><a style="align-items: center; justify-content: center; display: flex;" href="javascript:void(0)" class="btn btn-danger remove"><span class="glyphicon glyphicon glyphicon-remove" aria-hidden="true"></span>x</a></td>
</tr>
</tbody>
</table>
</fieldset>
From
Модель:
class Form extends Model
{
protected $fillable = [
'user_phone',
'user_cnic',
];
protected $with = [
'formItems',
];
public function formItems()
{
return $this->hasMany(FormItem::class);
}
}
FromItem
Модель:
class FormItem extends Model
{
protected $fillable = [
'form_id',
'family_name',
'family_phone',
];
public function form()
{
return $this->belongsTo(Form::class);
}
}
Обновленное изображение: ![enter image description here](https://i.stack.imgur.com/wGUT8.png)
dd($request->all())
Результат:
array:12 [▼
"_token" => "tEDC2rrDXInWeKQzFFSyk0gRoiC19Dr4HIqpf5P1"
"user_phone" => null
"user_cnic" => null
"user_dob" => null
"user_gender" => "male"
"user_landmark" => null
"user_hfname" => null
"user_address" => null
"user_name" => null
"user_family_no" => "1"
"user_email" => null
"formItems" => array:1 [▼
0 => array:6 [▼
"family_relation" => "father"
"family_name" => null
"family_dob" => null
"family_hfname" => null
"family_phone" => null
"family_email" => null
]
]
]