如何在Laravel 4中使用foreach循环去掉重复的代码?

时间:2014-11-25 14:06:51

标签: php class laravel-4 foreach model

我一直在努力想弄清楚如何在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 个答案:

答案 0 :(得分: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;
}