php - Laravel - 表单输入 - 一对多关系的多项选择

标签 php forms laravel one-to-many

我正在构建的应用程序中的一个要求是表单输入,它为单个字段接收不同数量的项目。例如,我参加的运动是('足球'、'网球'、'槌球')。

一个人可以参加的运动是有限的(可以说),所以这些项目应该从表单输入的“下拉”类型列表中选择。

此表单的下游将是两个具有一对多关系的表。所以从上面看,“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/

相关文章:

php - 使用 PHP 将 XML 导入 MySQL 仅获取第一个子数据

php - 一种在线进行单元测试的方法? (即谷歌)?

laravel - 在LaravelProject中调用未定义函数Xinax\LaravelGettext\bindtextdomain()错误

php - 如何在 PHP 中集成 Assently api 进行电子签名交易

PHPTAL 和嵌套模板。可能的?

javascript - Ajax POST 函数

asp.net-mvc - ModelMetadata.Watermark 和 MVC View 模型

javascript - 通过 div id 更改 div 中的表单操作

forms - Symfony2 绑定(bind)请求错误

php - Vagrant 家园缓慢