Подтвердить что ты не робот

Как получить значения для ряда флажков в контроллере Laravel 4 (если отмечено)

Я хотел бы получить значения для ряда флажков, которые я установил в форме Laravel 4. Вот код в представлении, устанавливающий флажки:

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

В моем контроллере я хотел бы получить значения для отмеченных ящиков и поместить их в массив. Я не совсем уверен, как это сделать, но я предполагаю, что это что-то вроде:

array[];

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

 } 
endforeach

Не могли бы вы предоставить мне решение для этого? Спасибо.

EDIT:

Это то, что я имею в контроллере:

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');

        }

Он не проходит цикл "if". Как увидеть вывод print_r, чтобы узнать, что в переменной $friends_checked?

4b9b3361

Ответ 1

Если флажки связаны, вы должны использовать [] в атрибуте 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
}

Ответ 2

У друга массива должен быть ключ. Если есть $friend- > id, вы можете попробовать что-то вроде этого.

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

Ответ 3

С помощью name= "friend []" в поле формы создается массив с именем friend, который передается на сервер, а не name= "friend", который передает строковое значение серверу.