如何从Laravel控制器的多重选择字段中获取所有值

时间:2019-06-18 04:33:11

标签: html laravel

基本上,在我的blade.php文件或html文件中,我有多个选择字段。我想做的就是获取所有选定字段的ID,并将其返回给我的控制器。我将如何去做?

blade.php中的多个选择

<div class="form-group">
   <label class="col-xs-12" for="users">Select User</label>
   <div class="col-sm-9">
     <select class="form-control" id="users" name="users" size="10" multiple="">
       @foreach($admin as $a)
       <option value="{{$r->id}}">{{$a->fullname}}</option>
       @endforeach
     </select>
   </div>
</div>

发送数据的控制器

public function assignRole() {

   $role = Role::all();
   $admin = Admin::all();

   return View::make("assignRole", compact('role', 'admin'));

} 

检索数据的控制器

public function assignNewRole(Request $request) {
   $data = $request->all();

   dd($data);

   return redirect()->route('role')->with('success', 'Successfully assigned role.');
}

我正在尝试查看“ dd”中得到的内容,但是现在得到的是:

array:3 [▼
  "_token" => "ongoBbjBaOXJrPleNSdYPsr8aJlb6CLUxHHkHKoP"
  "role" => "1"
  "users" => "2"
]

我想要的可能是“用户” =>“ 1”,“ 3”,“ 17”。 (所有选定用户ID的列表)。

2 个答案:

答案 0 :(得分:2)

name=users更改为name=users[]

<select class="form-control" id="users" name="users[]" size="10" multiple="multiple">

答案 1 :(得分:1)

<select class="form-control" id="users" name="users[]" size="10" multiple>
       @foreach($admin as $a)
              <option value="{{$r->id}}">{{$a->fullname}}</option>
       @endforeach
</select>

<select>的名称从users更改为users[]