/** * Store a newly created resource in storage. * * @param Request $request * @return Response */ public function store(Request $request) { $route = new Route(); if ($route->validate(Input::all(), Route::$rules)) { $origin_Id = Input::get("origin_location_id"); $destination_Id = Input::get("destination_location_id"); $origin_on_db = Route::where('origin_location_id', '=', $origin_Id)->where('destination_location_id', '=', $destination_Id)->first() !== null; if (!$origin_on_db) { $route = new Route(Input::except('_token')); $route->save(); if (Input::get('reverse') != null) { $destination_on_db = Route::where('origin_location_id', '=', $destination_Id)->where('destination_location_id', '=', $origin_Id)->first() !== null; if (!$destination_on_db) { $reverse_route = new Route(); $reverse_route->origin_location_id = $destination_Id; $reverse_route->destination_location_id = $origin_Id; $reverse_route->distance = Input::get("distance"); $reverse_route->save(); } } Notification::success('Ruta #' . $route->id . ' añadida correctamente'); return redirect('routes'); } else { Notification::error('La ruta ya se encuentra registrada en el sistema'); return redirect()->back()->withInput(); } } else { $errors = $route->errors(); return redirect()->back()->withInput()->withErrors($errors); } }