我试图理解为什么我的复选框没有作为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'
]
由于
答案 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()