2014-11-25 113 views
0

我一直在努力試圖弄明白如何開始使用foreach循環去掉重複的代碼在Laravel 4如何擺脫使用Laravel 4中的foreach循環重複的代碼?

這裏是我的原代碼 Original

我想讓它在foreach動態生成代替循環。

這裏是我現在

public static function validator($input){ 

     $rules = array(

       'title'     =>'required|max:100', 

       foreach ($export_types as $export_type){ 

       'type_'.$export_type->id =>'required', 
       } 

       'exported_date'   =>'date|required'); 

       $validator    = Validator::make($input, $rules); 

     return $validator; 
    } 

我得到了這個小錯誤 image

  • 誰能告訴我什麼,我missed? :(
  • 我可以使用裏面class
  • foreach循環如果不是,什麼是possible辦法做到這一點?
+1

您可以在類中使用for循環;但是不能在數組定義中使用for循環 – 2014-11-25 14:14:13

+1

請注意'$ export_types'沒有在 – 2014-11-25 14:15:07

+0

的任何位置定義感謝提示。你是對的。 – iori 2014-11-25 15:08:43

回答

2

你已經把一個foreach循環數組裏面。這就是你的問題。

而且我不知道你在哪裏得到了這麼$export_Types與建議編輯它被替換ExportType::all()

定義每個新項目要使用定義foreach使用[]

public static function validator($input){ 

    $rules = array(
      'title'   =>'required|max:100', 
      'exported_date' =>'date|required' 
    ); 

    foreach(ExportType::all() as $export_type) { 

     $rules['type_'.$export_type->id] = 'required'; 
    } 

    $validator = Validator::make($input, $rules); 

    return $validator; 
} 
+0

謝謝。工作100%。我將從現在開始學習。 – iori 2014-11-25 15:10:24