public function store(Request $request) { $rules = ['name' => 'required|unique:school_years|min:4|max:255', 'start' => 'required|date', 'end' => 'required|date', 'course_handbook_id' => 'required|exists:course_handbooks,id']; $messages = ['name.required' => 'Por favor indique un nombre para el año lectivo.', 'name.min' => 'Ingrese un nombre adecuado.', 'start.required' => 'Es necesario definir la fecha de inicio.', 'end.required' => 'Es necesario definir la fecha de fin.']; $v = Validator::make($request->all(), $rules, $messages); if ($v->fails()) { return back()->withErrors($v)->withInput(); } if ($request->get('start') > $request->get('end')) { return back()->withErrors(['range' => 'Las fechas son inconsistentes.'])->withInput(); } SchoolYear::create($request->all()); return back()->with('success', 'Año lectivo registrado exitosamente.'); }
/** * Run the database seeds. * * @return void */ public function run() { $carbon = Carbon::now('America/Lima'); $year = $carbon->year; $start = clone $carbon; $start->firstOfYear(); $end = clone $carbon; $end->lastOfYear(); $prev_start = clone $start; $prev_start->subYear(); $prev_end = clone $end; $prev_end->subYear(); // A past school year SchoolYear::create(['name' => 'Año ' . ($year - 1), 'start' => $prev_start, 'end' => $prev_end, 'course_handbook_id' => 1]); // Current school year SchoolYear::create(['name' => 'Año ' . $year, 'start' => $start, 'end' => $end, 'course_handbook_id' => 1]); }