如何获取Laravel 4控制器中一系列复选框的值(如果选中)

use*_*337 11 php checkbox laravel laravel-4

我想获得我在Laravel 4表单中设置的一系列复选框的值.以下是视图中设置复选框的代码:

@foreach ($friends as $friend)
<input tabindex="1" type="checkbox" name="friend[]" id="{{$friend}}" value="{{$friend}}">
@endforeach
Run Code Online (Sandbox Code Playgroud)

在我的控制器中,我想获取复选框的值并将它们放在一个数组中.我不确定如何做到这一点,但我认为它是这样的:

array[];

foreach($friend as $x)
if (isset(Input::get('friend')) {
        array[] = Input::get('friend');

 } 
endforeach
Run Code Online (Sandbox Code Playgroud)

你能帮我解决这个问题吗?谢谢.

编辑:

这就是我在控制器中的含义:

public function describe_favorite() {

            $fan = Fan::find(Auth::user()->id);
            $fan->favorite_venue = Input::get('venue');
            $fan->favorite_experience = Input::get('experience');

            $friends_checked = Input::get('friend[]');

            print_r($friends_checked);

            if(is_array($friends_checked))
            {
             $fan->experience_friends = 5;
            }

            $fan->save();


            return Redirect::to('fans/home');

        }
Run Code Online (Sandbox Code Playgroud)

它没有经过"if"循环.如何查看print_r的输出以查看$ friends_checked变量中的内容?

Gla*_*elp 27

如果复选框是相关的,那么您应该在name属性中使用[].

@foreach ($friends as $friend)
<input tabindex="1" type="checkbox" name="friend[]" id="{{$friend}}" value="{{$friend}}">
@endforeach


$friends_checked = Input::get('friend');
if(is_array($friends_checked))
{
   // do stuff with checked friends
}
Run Code Online (Sandbox Code Playgroud)