public function upload_pharmaceuticals_domains() { $pharmacist_domain_class = new PharmacistDomain(); $input = Input::All(); $header = array_shift($input); //retrieve header row $success = true; if (!$this->checkHeader($header, $pharmacist_domain_class->columns())) { $success = false; $response = "Cabeceras del Excel no coincide con la base de datos.\n No se procederá a modificar la base de datos."; } DB::table($pharmacist_domain_class->getTableName())->delete(); foreach ($input as $row) { try { $row = $this->readRow($row, $header); $province = Province::where("description", "=", $row["province"])->first(); $pharmacist_domain = new PharmacistDomain(array("domain" => $row["domain"], "province" => $province->description, "province_id" => $province->id)); $pharmacist_domain->save(); } catch (Exception $ex) { $success = false; $response = "Ha habido algún problema cargando el Excel en la base de datos." . "\n" . $ex->getMessage(); } } if ($success) { $response = "Se ha cargado correctamente el Excel en la base de datos."; } return Response::json(array("success" => $success, "response" => $response)); }