title: Laravel Auth::attempt() returns false
body: <p>I am a home hobbyist and am studying Laravel, currently in version <code>5.3</code>. I am using a Mac, neither <code>homestead</code> nor <code>vagrant</code>.  </p>
  
  <p>I'm currently working on a website that uses a login and a register system to create users.</p>
  
  <p>I've used <code>php artisan migrate</code> to manipulate my database locally.</p>
  
  <p><a href="https://postimg.org/image/o8hz4oiwj/" rel="noreferrer"><img src="https://i.stack.imgur.com/BfEGE.png" alt="Screen Shot 2016-12-27 at 4.18.38 PM.png"></a>
  </p>
  
  <p>As listed below, it has three fields, namely:</p>
  
  <ul>
  <li>Email</li>
  <li>Username</li>
  <li>Password</li>
  </ul>
  
  <p>I have a <code>User</code> model (users.php):</p>
  
  <pre><code>&lt;?php
  
  namespace blog;
  
  use Illuminate\Notifications\Notifiable;
  use Illuminate\Database\Eloquent\Model;
  use Illuminate\Contracts\Auth\Authenticatable;
  
  class User extends Model implements Authenticatable {
      use \Illuminate\Auth\Authenticatable;
  
      use Notifiable;
  
      protected $fillable = [
          'username', 'email', 'password',
      ];
  
  }
  </code></pre>
  
  <p>And also, a <code>UserController</code> class (UserController.php):  </p>
  
  <pre><code>&lt;?php
  
  namespace blog\Http\Controllers;
  
  use Auth;
  use blog\User;
  use Illuminate\Http\Request;
  
  class UserController extends Controller {
  
      public function postRegister(Request $request) {
          $username = $request['username'];
          $email = $request['email'];
          $password = bcrypt($request['password']);
  
          $user = new User();
          $user-&gt;email = $email;
          $user-&gt;username = $username;
          $user-&gt;password = $password;
  
          $user-&gt;save();
  
          return redirect()-&gt;route('login');        
      }
  
      public function postLogin(Request $request) {
  
          $credentials = [
              'username' =&gt; $request['username'],
              'password' =&gt; $request['password'],
          ];
  
          if(Auth::attempt($credentials)) {
              return redirect()-&gt;route('dashboard');       
          }
  
          return 'Failure'; 
      }
  }
  
  ?&gt;
  </code></pre>
  
  <p>As you can see, I am using <code>bcrypt()</code> as my hashing method.</p>
  
  <p>However, this problem is, it will always result to a failure.</p>
  
  <p><a href="https://postimg.org/image/5bn5ma41f/" rel="noreferrer"><img src="https://i.stack.imgur.com/9l4y7.png" alt="Screen Shot 2016-12-27 at 4.41.38 PM.png"></a>
  </p>
  
  <p>I have checked the following links:</p>
  
  <ul>
  <li><p><a href="https://stackoverflow.com/questions/40537013/why-is-authattempt-always-returns-false-in-laravel-5-3">Why is Auth::attempt always returns false</a>  </p></li>
  <li><p><a href="https://stackoverflow.com/questions/26074273/laravel-authattempt-return-false">Laravel authattempt return false</a></p></li>
  </ul>
  
  <p>P.S. These links seem very hard to follow as I do not utilize the <code>Input</code> class.</p>