コード例 #1
0
ファイル: BBDDController.php プロジェクト: polo070770/TFG
 public function recommendationsUpload()
 {
     $recommendation = new Recommendation();
     $active_principle = new ActivePrinciple();
     $columns = $recommendation->columns();
     $foreign_key = array_pop($columns);
     // retrieve FK column
     $input = Input::All();
     $header = array_shift($input);
     // retrieve header row
     if (!$this->checkHeader($header, $columns)) {
         return Response::json(array("success" => false, "info" => "Cabeceras del Excel no coincide con la base de datos.\n                    No se procederá a modificar la base de datos."));
     }
     DB::table($recommendation->getTableName())->delete();
     try {
         $errors = "";
         foreach ($input as $row) {
             $row = $this->readRow($row, $header);
             $recommendation = new Recommendation($row);
             $active_principle_found = DB::table($active_principle->getTableName())->select("id", "principio_activo")->where("principio_activo", "=", $recommendation->principio_activo)->first();
             if ($active_principle_found != NULL) {
                 $recommendation->active_principle_id = $active_principle_found->id;
                 $recommendation->save();
             } else {
                 $errors .= "\nRecomendación para un principio activo: " . $active_principle->principio_activo . " inexistente";
             }
         }
     } catch (Exception $ex) {
         return Response::json(array("success" => false, "info" => "Ha habido algún problema cargando el Excel en la base de datos." . "\n" . $ex->getMessage()));
     }
     return Response::json(array("success" => true, "info" => "Se ha cargado el excel en la base de datos correctamente.", "errors" => $errors));
 }