Ejemplo n.º 1
0
 public function store()
 {
     $csvPath = Input::file('file')->getRealPath();
     $collectionName = Input::file('file')->getClientOriginalName();
     $collectionName = substr($collectionName, 0, strlen($collectionName) - 4);
     $csv = new parseCSV();
     $csv->auto($csvPath);
     $data = $csv->data;
     // If collection exists, drop it
     if (Schema::hasCollection($collectionName)) {
         Schema::drop($collectionName);
     }
     switch ($collectionName) {
         case 'Species':
             Schema::create('Species', function ($collection) {
                 //                    $collection->unique('spID');
             });
             foreach ($data as $row) {
                 $keys = array_keys($row);
                 //
                 $newSpecies = new Species();
                 //
                 foreach ($keys as $key) {
                     if (is_numeric($row[$key])) {
                         $row[$key] = (int) $row[$key];
                     }
                     $newSpecies[$key] = $row[$key];
                 }
                 $newSpecies->save();
             }
             break;
         case 'Interactions':
             Schema::create('Interactions', function ($collection) {
                 //                    $collection->unique('spID');
             });
             foreach ($data as $row) {
                 $keys = array_keys($row);
                 //
                 $newInteraction = new Interaction();
                 //
                 foreach ($keys as $key) {
                     if (is_numeric($row[$key])) {
                         $row[$key] = (int) $row[$key];
                     }
                     $newInteraction[$key] = $row[$key];
                 }
                 $newInteraction->save();
             }
             break;
         case 'TaxaGroups':
             Schema::create('TaxaGroups', function ($collection) {
                 //                    $collection->unique('spID');
             });
             foreach ($data as $row) {
                 $keys = array_keys($row);
                 //
                 $newTaxaGroup = new TaxaGroup();
                 //
                 foreach ($keys as $key) {
                     if (is_numeric($row[$key])) {
                         $row[$key] = (int) $row[$key];
                     }
                     $newTaxaGroup[$key] = $row[$key];
                 }
                 $newTaxaGroup->save();
             }
             break;
         case 'LitSources':
             Schema::create('LitSources', function ($collection) {
                 //                    $collection->unique('spID');
             });
             foreach ($data as $row) {
                 $keys = array_keys($row);
                 //
                 $newLitSource = new LitSource();
                 //
                 foreach ($keys as $key) {
                     if (is_numeric($row[$key])) {
                         $row[$key] = (int) $row[$key];
                     }
                     $newLitSource[$key] = $row[$key];
                 }
                 $newLitSource->save();
             }
             break;
         case 'Images':
             Schema::create('Images', function ($collection) {
                 //                    $collection->unique('spID');
             });
             foreach ($data as $row) {
                 $keys = array_keys($row);
                 //
                 $newImage = new Image();
                 //
                 foreach ($keys as $key) {
                     if (is_numeric($row[$key])) {
                         $row[$key] = (int) $row[$key];
                     }
                     $newImage[$key] = $row[$key];
                 }
                 $newImage->save();
             }
             break;
         case 'Synonyms':
             Schema::create('Synonyms', function ($collection) {
                 //                    $collection->unique('spID');
             });
             foreach ($data as $row) {
                 $keys = array_keys($row);
                 //
                 $newSynonym = new Synonym();
                 //
                 foreach ($keys as $key) {
                     if (is_numeric($row[$key])) {
                         $row[$key] = (int) $row[$key];
                     }
                     $newSynonym[$key] = $row[$key];
                 }
                 $newSynonym->save();
             }
             break;
         case 'BioNotes':
             Schema::create('BioNotes', function ($collection) {
                 //                    $collection->unique('spID');
             });
             foreach ($data as $row) {
                 $keys = array_keys($row);
                 //
                 $newBioNote = new BioNote();
                 //
                 foreach ($keys as $key) {
                     if (is_numeric($row[$key])) {
                         $row[$key] = (int) $row[$key];
                     }
                     $newBioNote[$key] = $row[$key];
                 }
                 $newBioNote->save();
             }
             break;
         default:
             return "Nothing is done";
     }
     //$csv->data[4]['spID'];
     return 'success!';
 }
Ejemplo n.º 2
0
 public function getSpeciesByID(Request $request)
 {
     $spID = $request->input('spID');
     $speciesObject = Species::where('spID', '=', $spID)->where('uploadToWeb', '=', 1)->get();
     $speciesObject[0]->images->toArray();
     $speciesObject[0]->bioNotes->toArray();
     $speciesObject[0]->synonyms->toArray();
     $speciesObject[0]->litSources->toArray();
     $speciesObject[0]->interactions->toArray();
     $hierachy = [];
     $parentTaxaGroupID = $speciesObject[0]->taxaGroupID;
     while (TaxaGroup::find($parentTaxaGroupID)->tier > 1) {
         $taxaGroupName = TaxaGroup::find($parentTaxaGroupID)->TaxaGroupName;
         array_unshift($hierachy, ['taxaGroupID' => $parentTaxaGroupID, 'TaxaGroupName' => $taxaGroupName]);
         $parentTaxaGroupID = TaxaGroup::find($parentTaxaGroupID)->parentTaxaGroupID;
     }
     return response()->json(['speciesObject' => $speciesObject, 'hierachy' => $hierachy]);
 }