我试图让孩子在父母的视野中有能力编辑它们,
controller
public function edit($id)
{
$option = Option::findOrFail($id);
return view('admin.options.edit', compact('option'));
}
blade
// getting parent info in edit blade
{{ Form::model($option, array('route' => array('options.update', $option->id), 'method' => 'PUT')) }}
{{ Form::label('title', 'Name') }}
{{ Form::text('title', null, array('class' => 'form-control')) }}
{{ Form::submit('Update', array('class' => 'btn btn-success')) }}
{{ Form::close() }}
// Geting this option subs (children's) in my second tab
@foreach($option->suboptions as $sub)
{{ Form::model($sub, array('route' => array('suboptions.update', $sub->id), 'method' => 'PUT')) }}
{{ Form::label('title', 'Name') }}
{{ Form::text('title', null, array('class' => 'form-control')) }}
{{ Form::label('price', 'Price') }}
{{ Form::text('price', null, array('class' => 'form-control')) }}
{{ Form::submit('Update', array('class' => 'btn btn-success')) }}
{{ Form::close() }}
@endforeach
由于我的子表格在循环内,我得到每行的更新按钮 (孩子们)我怎么才能有1个按钮?
检查this video,看看我的意思。
More explain!
is include 2 different forms
(其中一个编辑了我的选项
eg. size
这很好,我们没有问题)eg.
选项 = size
,潜在客户 = 12 inch
,15 inch etc
。)为了编辑此潜点,目前我每个都有1个按钮他们(as you see in video i shared)
,我想要的是我的第二个表格只有一个按钮。答案 0 :(得分:0)
您只需打开和关闭循环外的表格
即可// Geting this option subs (children's) in my second tab
{{ Form::open(array('route' => ['suboptions.updateMany'], 'method' => 'PUT')) }}
@foreach($option->suboptions as $sub)
{{ Form::label('title', 'Name') }}
{{ Form::text('title[]', null, ['class' => 'form-control']) }}
{{ Form::label('price', 'Price') }}
{{ Form::text('price[]', null, ['class' => 'form-control']) }}
@endforeach
{{ Form::submit('Update', ['class' => 'btn btn-success']) }}
{{ Form::close() }}
然后,您将实现updateMany控制器方法以循环提交的数据(验证它)并提交它。
答案 1 :(得分:0)
我已在下方制作了控制器,我可以按照自己的意愿更新数据:
public function subsupdate(Request $req)
{
for ($i=0; $i<count($req->id); $i++) {
DB::table('suboptions')
->where('id',$req->id[$i])
->update([
'title' => $req->title[$i],
'price' => $req->price[$i],
]);
}
return redirect()->back()->with('success', 'Suboptions updated successfully.');
}