gpt4 book ai didi

php - 密码重置表列名称覆盖 laravel 5

转载 作者:行者123 更新时间:2023-12-04 02:09:08 26 4
gpt4 key购买 nike

你好 friend 我已经修改了密码重置表列名称“created_at”而不是“created”。如果我在迁移时更改列名“created”,但我收到错误列未找到“created_at”。

 \vendor\laravel\framework\src\Illuminate\Auth\Passwords\DatabaseTokenRepository.php
protected function getPayload($email, $token)
{
return ['email' => $email, 'token' => $token, 'created_at' => new Carbon];
}

这是来自列名称“created_at”的文件,我可以在其中覆盖此功能,请建议我..

最佳答案

我想我找到了一种无需触及 vendor 目录即可执行此操作的方法。

对于 Laravel 5.2

  1. 创建一个扩展 Illuminate\Auth\Passwords\DatabaseTokenRepository 的类>
  2. 在那里覆盖getPayload()方法
  3. 创建一个扩展Illuminate\Auth\Passwords\PasswordBrokerManager的类
  4. 覆盖 resolve() 方法以返回一个新的 PasswordBroker,其中包含第 1 步中的 token 存储库
  5. 打开 config/app.php 并从 providers 数组中注释掉 PasswordResetServiceProvider
  6. 在您的应用程序服务提供商中注册第 3 步中的密码代理管理器实例

    $this->app->singleton('auth.password', function ($app) { 返回新的 YourPasswordBrokerManager($app);});

    $this->app->bind('auth.password.broker', function ($app) { 返回 $app->make('auth.password')->broker();});

对于 Lravel 5

  1. 创建一个扩展 Illuminate\Auth\Passwords\DatabaseTokenRepository 的类>
  2. 在那里覆盖getPayload()方法
  3. 创建一个扩展Illuminate\Auth\Passwords\PasswordResetServiceProvider的类
  4. 覆盖 registerTokenRepository() 以返回步骤 1 中的存储库
  5. 打开 config/app.php 并从 providers 数组中注释掉 PasswordResetServiceProvider
  6. 将第 3 步中的提供商添加到提供商数组

请注意,我还没有对此进行测试,但理论上应该可行。

关于php - 密码重置表列名称覆盖 laravel 5,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40483634/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com