I have a Laravel 4 app in which I have set up one user. In my login route I'm calling `Auth::attempt` with the email and password but it always comes back as false. I definitely have the password correct and the correct hash in the database as `Hash::check` returns true.

I think it may be due to using `email` as the login field instead of `username`, but I can't see any setting for that. [This question](https://stackoverflow.com/questions/13231234/authattemptcredentials-always-returns-false) implied you could add an option to `config/auth.php` but it didn't work. [This question](https://stackoverflow.com/questions/14814526/user-login-laravel-4) says to use `username` as the array key, but then I get SQL error because it tries to select on a username field in the database.

Do I need to add something to the User model to specify the username field? Here is my login route:

```
Route::post('login', function() {

    // data from login form
    $credentials = array(
        'email' => Input::get('email'),
        'password' => Input::get('password')
    );

    $auth = Hash::check(Input::get('password'), Hash::make('mypass'));
    var_dump($auth); // this is TRUE

    // login was good
    $auth = Auth::attempt($credentials);
    var_dump($auth); // this is FALSE
});

```