[英]SQLSTATE[42S02]: Base table or view not found
我正在使用Laravel Auth将用户注册并登录到相应的仪表板。 I am using admin as my user
。 我为管理员创建了迁移,但是当我尝试注册我的管理员错误时, Table or view not found
并且Table or view not found
的表是我删除的内置表用户,因为我没有使用该表。 我必须使用管理表,请帮助我如何删除此错误。
SQLSTATE [42S02]:找不到基表或视图:1146表'fyp.users'不存在(SQL:从电子邮件中为用户汇总count(),其中电子邮件= **********)
我可能在下面提到了一些可能性:
1)在config / auth.php中,将用户模型更改为您的公司类别。
'providers' => [
'users' => [
'driver' => 'eloquent',
'model' => App\Admin::class,
],
2)在Admin类中,定义可填充字段和隐藏字段:
class Admin extends Authenticatable {
protected $fillable = [
'name', 'email', 'password',
];
protected $hidden = [
'password', 'remember_token',
];
}
3)不要忘记在registerContoller中更改验证。
'email' => 'required|string|email|max:255|unique:admins',
4)清除配置缓存或重建它:
php artisan config:clear
php artisan config:cache
参考文献:
https://laracasts.com/discuss/channels/general-discussion/change-users-table-name
https://laracasts.com/discuss/channels/general-discussion/changing-users-table-name-52
编辑app / config / auth.php更改表。
'table' => 'admin',
资料来源: http : //laravel-recipes.com/recipes/12/changing-your-authentication-table
编辑:那是为Laravel4。对于Laravel 5,这取决于您使用的驱动程序。 如果您使用的是Eloquent,则可以在以下config / auth.php文件中更改默认模型:
'providers' => [
'users' => [
'driver' => 'eloquent',
'model' => App\User::class, // Here you can change the users model
],
],
或者您可以在App\\User
模型中指定正确的表格。
如果您使用的是数据库驱动程序,则可以用相同的方式更改表的名称:
'providers' => [
'users' => [
'driver' => 'database',
'table' => 'users', // Here you can change the database table
],
],
希望能有所帮助。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.