Laravel 5:来自多个 select 选项的 Sending/saving 数据

Laravel 5: Sending/saving data from multiple select option

我无法在多个 select 下拉列表中获取所有数据(选项)select。这是 blade 代码:

<div class="form-group">
    <select name="roles[]" class="form-control select2 select2-hidden-accessible" multiple="" data-placeholder="User roles" style="width: 100%;" tabindex="-1" aria-hidden="true">
        @foreach ($roles as $role)
            <option value="{{$role->name}}">{{$role->display_name}}</option>
        @endforeach
    </select>
</div>

这就是我列出所有 "roles" 的方式,我在数据库中有 7 个,其中一个应该能够 select 随心所欲。

这是控制器中的部分:

$input = Input::all();
$roles[] = $input["roles"];
foreach ($roles as $role) {
    echo $role; //this is just for testing purposes
}

但是,只显示了该数组中的最后一个。所以如果我 select "admin, moderator, subscriber" 它只会显示 "subscriber"。请帮助我,很明显我遗漏了一些小细节。

抱歉,我现在无法测试这个答案。尝试:

$roles = Input::get('roles');
foreach ($roles as $role) {
    echo $role; //this is just for testing purposes
}

所以问题是双数组我在控制器中有 select 标签和 var 的名称,“[]”表示它们是数组,从控制器中的 $roles[] 中删除“[]”解决了。​​

如果有人需要这个:

$input = Input::all();
$roles = $input["roles"]; // removed brackets
foreach ($roles as $role) {
    echo $role; // this is just for testing purposes
}