Laravel Auth::attempt() returns false
<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>