我正在使用 Laravel Auth 注册并将我的用户登录到相应的信息中心。 I am using admin as my user
。我为管理员创建了迁移,但是当我尝试注册管理员时出现错误Table or view not found
,找不到的表是我删除的内置表用户,因为我没有使用那个。我必须使用管理表请帮助我如何删除此错误。
SQLSTATE [42S02]:未找到基表或视图:1146表'fyp.users'不存在(SQL:select count()作为来自用户的聚合,其中email = ********** )
答案 0 :(得分:1)
我可能会在下面提到一些可能性:
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
答案 1 :(得分:0)
编辑app / config / auth.php以更改表格。
'table' => 'admin',
来源:http://laravel-recipes.com/recipes/12/changing-your-authentication-table
编辑:那是Laravel 4.对于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
],
],
希望有所帮助。