public function run() { $Attendees = array(); $lexer = new Lexer(new LexerConfig()); $interpreter = new Interpreter(); $interpreter->addObserver(function (array $row) use($Attendees) { $ItemOne = \Todo\Attendee::create(array('company' => $row[0], 'lastname' => $row[1], 'firstname' => $row[2], 'phone' => $row[3], 'email' => $row[4], 'paidinfull' => $row[5], 'balance' => $row[6], 'notes' => $row[7], 'seat_id' => $row[8])); $this->command->info("Added " . $row[1] . "as an attendee"); }); $fileName = $this->getDir() . '/Attendees.csv'; $lexer->parse($fileName, $interpreter); }
public function postUpload($unique) { //disable php timeout and db query log DB::disableQueryLog(); set_time_limit(0); $compare = Compare::where('unique', $unique)->first(); if (!$compare || !Session::get('owner')) { return Redirect::to('compare/notfound'); } $file = Input::file('csv'); $data_set = array(); $config = new LexerConfig(); $config->setDelimiter("\t"); $lexer = new Lexer($config); //setup the interpreter $interpreter = new Interpreter(); $interpreter->unstrict(); $interpreter->addObserver(function (array $row) use(&$data_set) { $data_set[] = $row[0]; }); //parse it! $lexer->parse($file, $interpreter); //loop through the data foreach ($data_set as $data_item) { $data = new Data(); $data->compare_id = $unique; $data->owner_id = Session::get('owner'); $data->hash = md5($data_item); $data->save(); } return Redirect::back(); }