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