Laravel:表格要更新 table 中的多行?
Laravel: Form to update multiple rows in table?
我知道我可以在我的表单上创建一个绑定,以便能够访问和更新 table 上的记录,如下所示:
@extends('layouts.interior')
@section('content')
{{ Form::model($nav) }}
<ul id="sortable">
<li class="ui-state-default"><span class="ui-icon ui-icon-arrowthick-2-n-s"></span>
{{ Form::text('url') }}
</li>
<li class="ui-state-default"><span class="ui-icon ui-icon-arrowthick-2-n-s"></span>
{{ Form::text('url_name') }}
</li>
</ul>
{{ Form::close() }}
@stop
但这是通过从路由传递单个 id 来完成的
Route::get('nav/edit/{id}')
所以这只有在我只需要向用户显示和更新一个 record/row 时才有用。基本上就像一个有标题的博客条目,body 代表那一行。我只想让用户转到路线 /nav/edit/ 并将导航的所有行显示为要发送回数据库的 editable 输入。
我的问题是,我怎样才能从 table 中检索多行并将它们的值显示到输入字段中,这些字段可以针对每个 ID 进行跟踪和发布当用户编辑他们的字段时?
示例:
我有一个table如下:
编号 | url | url_name |
我想检索每个 url 并为每个表单填充一个输入,以便用户可以更新 url 及其显示名称,然后将其发送回数据库以更新它的新值。
像下面这样的东西会为每个生成一个输入字段,但是没有什么可以告诉 Laravel 提交时值应该放在哪里以及它们应该替换什么。
@foreach($links as $link)
<li class="ui-state-default"><span class="ui-icon ui-icon-arrowthick-2-n-s"></span>
{{ Form::text($link->url_name, $link->url_name, array('id' => $link->id, 'name' => $link->url_name)) }}
</li>
@endforeach
您可以使用 link id 作为输入名称中的数组键,这样您就可以知道哪个值属于哪个 id
<input type='text' value="{{ $link->url_name }}" name="url_name[{{ $link->id }}]">
它将发送如下数组:
$_POST[
'url_name'=>array(
'3'=>'url_name1',
'5'=>'url_name2',
'7'=> 'url_name3'
)
]
我知道我可以在我的表单上创建一个绑定,以便能够访问和更新 table 上的记录,如下所示:
@extends('layouts.interior')
@section('content')
{{ Form::model($nav) }}
<ul id="sortable">
<li class="ui-state-default"><span class="ui-icon ui-icon-arrowthick-2-n-s"></span>
{{ Form::text('url') }}
</li>
<li class="ui-state-default"><span class="ui-icon ui-icon-arrowthick-2-n-s"></span>
{{ Form::text('url_name') }}
</li>
</ul>
{{ Form::close() }}
@stop
但这是通过从路由传递单个 id 来完成的
Route::get('nav/edit/{id}')
所以这只有在我只需要向用户显示和更新一个 record/row 时才有用。基本上就像一个有标题的博客条目,body 代表那一行。我只想让用户转到路线 /nav/edit/ 并将导航的所有行显示为要发送回数据库的 editable 输入。
我的问题是,我怎样才能从 table 中检索多行并将它们的值显示到输入字段中,这些字段可以针对每个 ID 进行跟踪和发布当用户编辑他们的字段时?
示例:
我有一个table如下:
编号 | url | url_name |
我想检索每个 url 并为每个表单填充一个输入,以便用户可以更新 url 及其显示名称,然后将其发送回数据库以更新它的新值。
像下面这样的东西会为每个生成一个输入字段,但是没有什么可以告诉 Laravel 提交时值应该放在哪里以及它们应该替换什么。
@foreach($links as $link)
<li class="ui-state-default"><span class="ui-icon ui-icon-arrowthick-2-n-s"></span>
{{ Form::text($link->url_name, $link->url_name, array('id' => $link->id, 'name' => $link->url_name)) }}
</li>
@endforeach
您可以使用 link id 作为输入名称中的数组键,这样您就可以知道哪个值属于哪个 id
<input type='text' value="{{ $link->url_name }}" name="url_name[{{ $link->id }}]">
它将发送如下数组:
$_POST[
'url_name'=>array(
'3'=>'url_name1',
'5'=>'url_name2',
'7'=> 'url_name3'
)
]