I would like to get the values for a series of checkboxes I have set up in a Laravel 4 form. Here is the code in the view setting up the checkboxes:
@foreach ($friends as $friend)
<input tabindex="1" type="checkbox" name="friend[]" id="{{$friend}}" value="{{$friend}}">
@endforeach
In my controller, I would like to get the values for the checked boxes and put them in an array. I am not exactly sure how to do this, but I assume it is something like:
array[];
foreach($friend as $x)
if (isset(Input::get('friend')) {
array[] = Input::get('friend');
}
endforeach
Could you provide me with a solution to do this? Thank you.
EDIT:
This is what I have in the controller:
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');
}
It is not going through the "if" loop. How do I see the output of the print_r to see what's in the $friends_checked variable?
To get all the values from the checked checkboxes, you need to add the square brackets ( [] ) after the name of the checkboxes. When PHP sees the square brackets ( [] ) in the field name, it'll create an associative array of values where the key is the checkbox's name and the values are the selected values.
If checkboxes are related then you should use [] in the name attribute.
@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
}
The array friend must have a key . If there is $friend->id you could try something like this.
@foreach ($friends as $friend)
<input tabindex="1" type="checkbox" name="friend[{{$friend->id}}]" id="{{$friend}}">
@endforeach
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With