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.']); }