Laravel 5.2
我的创建表单能够通过jquery动态添加tr行,以便将更多数据插入到db中。如何使用表单模型绑定(或其他方式)提取此数据并自动填充我的编辑表单。
由于Nazmul Hasan的评论更新:
代码示例:
查看:(供应商与供应商额外的关系很多)
@foreach ($supplier['SupplierExtra'] as $extra)
<tr class="master">
<td>{!! Form::text('SupplierExtraName[]', $extra->name, ['class' => 'form-control']) !!}</td>
<td>{!! Form::text('SupplierExtraCost[]', $extra->cost, ['class' => 'form-control']) !!}</td>
控制器:(存储)
foreach ($request->get('SupplierExtraName') as $i => $row) {
if ($request->SupplierExtraName[$i] != null) {
Extra::create([
'supplier_id' => $supplier->id,
'name' => $request->SupplierExtraName[$i],
'cost' => $request->SupplierExtraCost[$i],
]);
}
}
控制器:(更新) - 未知代码
如何告诉Laravel在db中更新哪一行?
答案 0 :(得分:0)
根据您对问题的理解,您可以尝试以下方法:
如果您尚未创建模型,可以尝试:
php artisan make:model Example
为了举例,我们称之为示例模型。
这可能是它的数据:
----------------------------------------
ID Name Age Phone
----------------------------------------
1 Sam 20 12345
2 Mia 23 11234
public function functionName(Example $example){
//We try to filter based on what your id is, say, id = 1
//then we store that inside a variable
$example = App\Example::where('id', '=', $example->id)->get();
//Passing the data using compact
return view('yourview', compact('example'));
}
您需要使用foreach循环将数据放入此步骤,并使用&#39; value&#39;来设置值。 html标签内的属性。
<form>
@foreach($example as $e)
<div class="input-group">
<h2 class="input-group">Category's Name</h2>
<!-- the $e->Name is from the data we passed previously -->
<input type="text" class="form-control input-lg" name="Name" value="{{ $e->Name }}">
</div>
@endforeach
</form>
猜猜什么会填充文字输入?那将是萨姆。
&#39;价值&#39;根据我的理解,文本输入中的属性是您远远看到的内容。
答案 1 :(得分:0)
因此,根据Nazmul Hasan评论,我的控制器中有以下商店功能
更新控制器:
foreach ($request->get('SupplierExtraName') as $key => $row) {
Extra::where('id', $key)->update([
'name' => $request->SupplierExtraName[$key],
'cost' => $request->SupplierExtraCost[$key],
]);
更新了视图:
@foreach ($supplier['SupplierExtra'] as $extra)
<tr class="master">
<td>{!! Form::text("SupplierExtraName[$extra->id]", $extra->name, ['class' => 'form-control']) !!}</td>
<td>{!! Form::text("SupplierExtraCost[$extra->id]", $extra->cost, ['class' => 'form-control']) !!}</td>
<td></td>
<td>
<button type="button" class="btn btn-primary btn-md addRow">
<span class="glyphicon glyphicon-plus-sign"></span> Add a row
</button>
</td>
</tr>
@endforeach