我正在构建的应用程序中的一个要求是表单输入,它为单个字段接收不同数量的项目。例如,我参加的运动是('足球'、'网球'、'槌球')。
一个人可以参加的运动是有限的(可以说),所以这些项目应该从表单输入的“下拉”类型列表中选择。
此表单的下游将是两个具有一对多关系的表。所以从上面看,“user”表将只有一行,而“user_sports”表将有三行。然后这些将通过用户表中的 id 字段链接。
我无法在文档中找到可以实现这一点的功能(也许我没有在寻找正确的东西)。下面是我找到的最接近的,但仅用于从下拉列表中选择单个项目。
http://laravel.com/docs/html#drop-down-lists
有没有一种解决方法可以让我使用 Laravel 框架启动并运行这个表单元素?
或者,是否有其他方法可以在不损害用户体验的情况下实现此类功能?
最佳答案
我同意user3158900,只是在使用方式上略有不同:
{{Form::label('sports', 'Sports')}}
{{Form::select('sports',$aSports,null,array('multiple'=>'multiple','name'=>'sports[]'))}}
但是,根据我的经验,选择的第三个参数只是一个字符串,所以为了重新填充多选的数据,我不得不做这样的事情:
<select multiple="multiple" name="sports[]" id="sports">
@foreach($aSports as $aKey => $aSport)
@foreach($aItem->sports as $aItemKey => $aItemSport)
<option value="{{$aKey}}" @if($aKey == $aItemKey)selected="selected"@endif>{{$aSport}}</option>
@endforeach
@endforeach
</select>
关于php - Laravel - 表单输入 - 一对多关系的多项选择,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24627902/