OTA*_*TAR 2 php laravel laravel-5.4
我想将默认表名更改users为其他名称lara_users.
搜索了几个资源,其中许多人说"你需要在config/auth.php文件中更改表名,如下:'table' => 'lara_users'.
在Laravel 5.4中,没有明确定义(至少对我而言)那个'table'键在哪里?我改变了:
...
'providers' => [
'users' => [
'driver' => 'database',
'table' => 'lara_users',
],
],
...
Run Code Online (Sandbox Code Playgroud)
虽然,在那之后,当我尝试登录时,应用程序出现错误:( Undefined table: 7 ERROR: relation "users" does not exist我使用postgresql).
PS
我已经将表名更改为lara_usersin migrations,它可以正常工作并创建该表.
如果要添加lara_所有表名,则可以通过在中添加前缀来添加名称database.php.如果你添加前缀它将添加到所有表,你不需要更改任何其他内容,laravel本身搜索具有此前缀的表.
'mysql' => [
'driver' => 'mysql',
'host' => env('DB_HOST', '127.0.0.1'),
'port' => env('DB_PORT', '3306'),
'database' => env('DB_DATABASE', 'forge'),
'username' => env('DB_USERNAME', 'forge'),
'password' => env('DB_PASSWORD', ''),
'unix_socket' => env('DB_SOCKET', ''),
'charset' => 'utf8mb4',
'collation' => 'utf8mb4_unicode_ci',
'prefix' => 'lara_',
'strict' => true,
'engine' => null,
],
Run Code Online (Sandbox Code Playgroud)
请注意,如果您使用DB::table(''),它将使用雄辩的查询,然后您需要在所有查询中添加前缀.使用$prefix = \DB::getTablePrefix();前缀,使之动态的数据库查询.
好的。在用户迁移中将用户更改为lara_users。
现在您更改了默认表名称。转到用户模型 User.php 下
app目录,将其添加到User类中
protected $table = 'lara_users';
Run Code Online (Sandbox Code Playgroud)
现在去 RegisterController.php 编辑电子邮件密钥:
'email' => 'required|string|email|max:255|unique:users',
Run Code Online (Sandbox Code Playgroud)
对此
'email' => 'required|string|email|max:255|unique:lara_users',
Run Code Online (Sandbox Code Playgroud)
就是这样。
| 归档时间: |
|
| 查看次数: |
634 次 |
| 最近记录: |