public function run()
 {
     $faker = Faker::create();
     foreach (range(1, 20) as $index) {
         $title = $faker->sentence($nbWords = 6);
         $course = Course::create(['title' => $title, 'instructor' => $faker->name, 'image_url' => 'images/assets/2014/5.jpg', 'address' => '12 meses', 'course_level' => $faker->randomElement(['profesional', 'tecnico', 'curso']), 'body' => $faker->text($maxNbChars = 200), 'slug' => \Str::slug($title), 'available' => true]);
         foreach (range(1, 5) as $index) {
             Download::create(['file_type' => $faker->randomElement(['material', 'modulos', 'horario']), 'description' => $faker->sentence($nbWords = 7), 'file_url' => 'data/courses/1.pdf', 'course_id' => $course->id]);
         }
     }
 }
 /**
  * Store a newly created resource in storage.
  * POST /course
  *
  * @return Response
  */
 public function store()
 {
     $file = Input::file('image_url');
     $data = Input::only(['title', 'instructor', 'image_url', 'address', 'course_level', 'body']);
     $rules = ['title' => 'required', 'instructor' => 'required', 'image_url' => 'required|image|mimes:jpeg,jpg|max:1000', 'address' => 'required', 'course_level' => 'required', 'body' => 'required'];
     $validation = Validator::make($data, $rules);
     if ($validation->fails()) {
         return Redirect::back()->withInput()->withErrors($validation->messages());
     } else {
         $getRealPath = 'images/assets/courses/';
         $course = new Course($data);
         $course->image_url = $getRealPath . $data['image_url']->getClientOriginalName();
         $course->available = true;
         $course->slug = \Str::slug($data['title']);
         $course->save();
         if ($course->save()) {
             $i = 0;
             //separamos el nombre de la img y la extensión
             $info = explode(".", $file->getClientOriginalName());
             //asignamos de nuevo el nombre de la imagen completo
             $miImg = $file->getClientOriginalName();
             //mientras el archivo exista iteramos y aumentamos i
             while (file_exists($getRealPath . $miImg)) {
                 $i++;
                 $miImg = $info[0] . "(" . $i . ")" . "." . $info[1];
             }
             //guardamos la imagen con otro nombre ej foto(1).jpg || foto(2).jpg etc
             $file->move($getRealPath, $miImg);
             //si ha cambiado el nombre de la foto por el original actualizamos el campo foto de la bd
             if ($miImg != $course->image_url) {
                 $course->image_url = $getRealPath . $miImg;
                 $course->save();
             }
         }
     }
     return Redirect::route('course', [$course->slug, $course->id])->with(['confirm' => 'Se inserto el registro correctamente.']);
 }