当前位置: 首页 > 知识库问答 >
问题:

Laravel 8在app/model中使用protected not working更改用户表名

湛宏旷
2023-03-14

我用JetStream/Fortify安装了一个比较新的laravel 8。我正在尝试使用一个预先存在的用户表,该表的表名与默认的'users'不同。

通过阅读,我想我必须在app\model\user.php中更新它。我已经这样做了:

 class User extends Authenticatable               
 14 {                                                                                                       
 15     /**                                                                                                                                                                                                
 16     .* My custom users table                        
 17     .*/
 18     protected $table = "user";  // note here it is user not users
 19     protected $primaryKey = "user_id";

但是当我尝试注册一个新用户时,我得到的SQLSTATE错误是没有找到基表或视图...“mydb.users”不存在。

所以它仍然在寻找'users'而不是'user'。

我还需要在哪换这个?

文档似乎没有提到其他任何地方,而其他堆栈答案似乎暗示这应该就足够了

编辑:这是我的config/auth.php部分

 67                                                                                         
 68     'providers' => [                                                                                 
 69     .   'users' => [                                               
 70     .   .   'driver' => 'eloquent',                                           
 71     .   .   'model' => App\Models\User::class,                                                                                  
 72     .   ],                                                                                                                                                                                                               
 73                    
 74     .   // 'users' => [                                               
 75     .   //     'driver' => 'database',                              
 76     .   //     'table' => 'users',                                               
 77     .   // ],                                                     
 78     ],     

所以我相信我使用的是正确的用户提供商与雄辩。

共有1个答案

汲丰茂
2023-03-14

电子邮件的唯一性验证规则将表名硬编码在其中(它发生在初始化任何模型之前,因此以这种方式是有意义的)。

看起来像这样的东西

$validator = Validator::make($request->all(), [
    'email' => 'email|unique:users', //<- notice here that the database table name is hardcoded
    'password' => 'required',
]);

如果您使用的是默认验证器,那么您需要复制它并更改该行。

 类似资料:
  • 问题内容: 我正在编写一个简单的脚本,该脚本可以重新启动hadoop从属服务器。在脚本中,我必须以root用户身份进行一些初始更改。之后,我必须更改为用户“ hadoop”并执行命令集。我使用os.system运行命令,但是我怀疑它是否运行良好。例如: 再一次,我必须以root用户身份执行一些命令,然后再次成为用户“ hadoop”并执行: 我在这里有三个问题, os.system是我可以用来发出

  • 我正试图更改我的用户代理,并将更改后的用户代理打印到终端,以检查它是否已成功更改,但我没有运气。 def拦截器(请求): 我也不能从selenium wire打印用户代理,我只能使用此方法。 打印(代理) 请有人帮忙,不胜感激:)

  • 如你所知,app包名(**com.****.*****)在Flutter app中是非常重要的,它也被用于app的Play Store和其他一些地方的链接中。

  • 我在Ubuntu中运行MySQL,默认安装。 如何将用户名从根更改为另一个,比如admin?最好从命令行。

  • 如果用户选择任何语言的应用程序更改,language.but我的应用程序内容是从json检索数据api.how改变它? 在此处输入图像描述 } } 在此处输入图像描述

  • 问题内容: 这是我的HTML: 当我在框中输入内容时,该模型会通过2向绑定机制进行更新。甜。 但是, 当我通过JQuery执行此操作时… 它不会更新模型。为什么? 问题答案: Angular不知道这种变化。为此,您应该在以下位置致电或进行更改: 看到这个以更好地了解 脏检查 更新 :这是一个示例