/**
  * Execute the console command.
  *
  * @return mixed
  */
 public function fire()
 {
     $this->line('Lets start our migration.');
     //Migrate Groups to Roles
     $groups = DB::connection('oldmysql')->table('groups');
     $this->line($groups->count() . ' groups[\'s] were found in the legacy database');
     foreach ($groups->get() as $group) {
         $role = new Role();
         $role->name = $group->group;
         $role->save();
     }
     //Migrate Users
     $users = DB::connection('oldmysql')->table('users');
     $this->line($users->count() . ' user[\'s] were found in the legacy database');
     foreach ($users->get() as $user) {
         $this->line('Migrating user: '******'oldmysql')->table('groups')->where('id', $user->group)->first();
         $myrole = Role::where('name', $group->group)->first();
         $newuser->roles()->attach($myrole);
         $this->line('Adding user to role: ' . $group->group);
     }
     //Migrate Users
     $quotes = DB::connection('oldmysql')->table('quotes');
     $this->line($quotes->count() . ' quote[\'s] were found in the legacy database');
     foreach ($quotes->get() as $quote) {
         $this->line('Migrating quote: #' . $quote->id);
         $newquote = new Quote();
         $newquote->timestamps = false;
         $newquote->id = $quote->id;
         $newquote->title = $quote->title;
         $newquote->quote = $quote->quote;
         $user = User::find($quote->userid);
         $newquote->user()->associate($user);
         $newquote->status = $quote->approved;
         $newquote->created_at = date('Y-m-d H:i:s', $quote->timestamp);
         $newquote->updated_at = date('Y-m-d H:i:s', $quote->timestamp);
         $newquote->save();
     }
     $votes = DB::connection('oldmysql')->table('votes');
     $this->line($votes->count() . ' vote[\'s] were found in the legacy database');
     foreach ($votes->get() as $vote) {
         $user = User::find($vote->userid);
         $quote = Quote::find($vote->quoteid);
         if ($user && $quote) {
             if ($vote->vote == 1) {
                 $this->line($user->username . ' voted up #' . $quote->id);
             } else {
                 $this->line($user->username . ' voted down #' . $quote->id);
             }
             if ($quote) {
                 $vuser = $quote->voted()->whereUserId($vote->userid)->first();
                 if (!$vuser) {
                     $quote->voted()->attach($user, array('vote' => $vote->vote));
                 } else {
                     $vuser->pivot->vote = $vote->vote;
                     $vuser->pivot->save();
                 }
             }
             //Our confidence has changed in this quote.
             $quote->updateVoteConfidence();
         } else {
             if (!$quote) {
                 $this->line('Vote #' . $vote->id . ' could not be imported because the quote doesn\'t exist');
             }
             if (!$user) {
                 $this->line('Vote #' . $vote->id . ' could not be imported because the user doesn\'t exist');
             }
         }
     }
 }