BadMethodCallException - 调用未定义的方法Illuminate \ Database \ Query \ Builder :: getAuthIdentifierName()

时间:2017-07-08 14:03:26

标签: php mysql laravel-5

我安装了Laravel 5.4并使用了php artisan make:auth。一切都很好,我设置了我的数据库并迁移了一切。我还测试了登录和注册,它运行良好。

之后我设法设置了其他控制器和模型。在我测试了一个控制器之后(基本上,我将图像存储在数据库中,然后显示它)。它工作正常我存储了图像然后显示它。

然而,从那时起,当我尝试登录或注册时收到错误。

当我尝试访问http://localhost:8000/loginhttp://localhost:8000/register时,我收到以下错误:

  

调用未定义的方法Illuminate \ Database \ Query \ Builder :: getAuthIdentifierName()

对于这个我不完全确定我应该分享哪部分代码,但这是我的Modal User.php:

namespace App;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Notifications\Notifiable;
use Illuminate\Foundation\Auth\User as Authenticatable;

use App\User;

class User extends Authenticatable
{
    use Notifiable;

    /**
     * The attributes that are mass assignable.
     *
     * @var array
     */


    protected $table = 'users';

    protected $fillable = [
        'name', 'email', 'password',
    ];

    /**
     * The attributes that should be hidden for arrays.
     *
     * @var array
     */
    protected $hidden = [
        'password', 'remember_token',
    ];
}

先谢谢你们,如果你需要我代码的其他部分,我很乐意与大家分享。

1 个答案:

答案 0 :(得分:2)

首先首先运行php artisan migrate,确保数据库中有表格

  

User.php //用户模型添加主键以消除此错误

 protected $primaryKey = 'yourPrimaryKey';