我知道我可以在我的表单上创建一个绑定(bind),以便能够访问和更新表中的记录,如下所示:
@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}')
所以这只有在我只需要向用户显示和更新一条记录/行时才有用。基本上就像一个有标题的博客条目,那一行的正文。我只想让用户转到路线/nav/edit/,它会将导航的所有行显示为可编辑的输入,并发送回数据库。
我的问题是,我如何从表中检索多行并将它们的值显示到输入字段中,当用户编辑他们的字段时,可以为他们的每个 ID 跟踪和发布这些值?
例子:
我有一个表格如下:
编号 |网址 |网址名称 |
我想检索每个 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
最佳答案
您可以使用链接 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'
)
]
关于php - Laravel:表格更新表中的多行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28129912/