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!'; }
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]); }