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'
    )
 ]