提交时未按预期返回的复选框

时间:2014-11-27 19:07:30

标签: php laravel checkbox

我试图理解为什么我的复选框没有作为user_id数组提交,有人可以帮我找出原因吗?我显然做错了什么,但我无法弄明白。

// View
{{ Form::model($process, array('route' => array('judi.processes.update', $process->id), 'method' => 'put') ) }}

@foreach ($assessors->users as $assessor)
    {{ Form::checkbox( 'user_id[]', $assessor->id, checkboxState( $assessor->id, $process->users()->lists('user_id') ) ) }}
@endforeach

{{ Form::submit('Submit') }}

{{ Form::close() }}

// Controller
$users = Input::get('user_id');

// Output
Users 
[
  0 =>'1' 
  1 =>'106' 
  2 =>'107'
]

// Looking for
Users

'user_id' = [
  0 => '1',
  1 => '106',
  2 => '107'
]

由于

2 个答案:

答案 0 :(得分:0)

使用Input::get()时有一些奇怪的功能,如果你只得到一件东西,它会把它作为数组返回;在你的情况下:

array(3) { [0] =>'1', [1] =>'106', [2] =>'107'] }

尝试将Input::get('user_id')更改为:

$users = Input::only('user_id');

检查结果。它现在应该格式化为:

array(1) { ['user_id'] => array(3) { [0] => '1', [1] => '106', [2] => '107'] } }

让我知道这是否有效!

答案 1 :(得分:0)

我认为,因为您使用的是Input::get('user_id'),所以所需的行为。

为了得到你想要的东西,我想你应该使用Input::all()