簡體   English   中英

如何獲取Laravel 4控制器中一系列復選框的值(如果選中)

[英]How to get the values for a series of checkboxes in Laravel 4 controller (if checked)

我想獲得我在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

你能幫我解決這個問題嗎? 謝謝。

編輯:

這就是我在控制器中的含義:

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變量中的內容?

如果復選框是相關的,那么您應該在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
}

陣列朋友必須有一把鑰匙。 如果有$ friend-> id,你可以試試這樣的東西。

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

在表單字段中使用name =“friend []”會創建一個名為friend的數組,該數組將傳遞給服務器,而不是name =“friend”,它將字符串值傳遞給服務器。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM