Laravel身份验证抛出奇怪的错误

时间:2014-02-06 23:38:56

标签: php laravel laravel-4

Illuminate \ Database \ QueryException
SQLSTATE[42S22]: Column not found: 1054 Unknown column 'user.deleted_at'
in 'where clause' (SQL: select * from `user` where `user`.`deleted_at` is
null and `username` = john limit 1)

所以我将以下数据发送到我的登录路线:username=john&password=test

但是当我在 routes.php 中执行以下代码时,我得到上面显示的错误。

Route::post('login', function()
{
    $credentials = array(
        "username" => Input::get("username"),
        "password" => Input::get("password")
    );

    if (Auth::attempt($credentials))
    {
        return Redirect::intended('dashboard');
    }
    else {
        return Redirect::to('login');
    }

});

困扰我的是我的用户表中没有deleted_at列,我不知道为什么laravel需要在我的表中使用此列时我正在尝试登录。

1 个答案:

答案 0 :(得分:3)

  

困扰我的是我的用户表中没有deleted_at列

是的,错误消息正在抱怨。

  

当我所做的只是尝试登录时,我不知道为什么laravel需要在我的表中使用此列。

您的用户模型可能已启用soft deletion。在$softDelete文件夹中的User.php文件中查找app/models并将其设置为false,或者如果要进行软删除,请添加该列。