【问题标题】:How to change columns used by default by laravel sanctum (email and password) by custom ones?如何将 laravel sanctum(电子邮件和密码)默认使用的列更改为自定义列?
【发布时间】:2021-12-20 15:36:06
【问题描述】:

我刚刚安装了 laravel、sanctrum、livewire 作为新的身份验证系统。我需要为用户使用已经创建的表。 我正在尝试将我的 User 模型更改为自定义模型。问题是这个其他模型没有默认列(电子邮件和密码),所以我需要个性化 sanctrum 如何使用它。 我已经创建了 de Model 并在 config/auth.php 中更改了默认模型:

'providers' => [
        'users' => [
            'driver' => 'eloquent',
            'model' => App\Models\Usuario::class,
        ],

然后我收到错误:

Illuminate\Database\QueryException
SQLSTATE[42S22]: Column not found: 1054 Unknown column 'email' in 'where clause' (SQL: select * from `USUARIOS` where `email` = dgb1982uk@gmail.com limit 1)

我知道不是太多信息,但可能有人以前这样做过。 提前致谢。

【问题讨论】:

  • Usuario 表的结构是什么。是否有电子邮件栏,或者电子邮件字段是什么
  • 电子邮件列具有不同的名称。这就是所有的问题。但是我已经解决了。当我有时间时,我会发布解决方案。感谢参与。

标签: laravel authentication guard


【解决方案1】:

答案在文件夹 App\Actions\Fortify 的文件中。 所有这些文件都具有使用字段进行登录和密码特征的逻辑功能。

举例:

App\Actions\Fortify\CreateNewUser.php 文件对注册表单进行验证并创建一个新用户。因此,在此处更改字段的自定义名称将使注册表在 sanctrum 中有效。

public function create(array $input)
    {
        Validator::make($input, [
            'name' => ['required', 'string', 'max:255'],
            'email' => ['required', 'string', 'email', 'max:255', 'unique:users'],
            'password' => $this->passwordRules(),
            'terms' => Jetstream::hasTermsAndPrivacyPolicyFeature() ? ['required', 'accepted'] : '',
        ])->validate();

        return Usuario::create([
            'custom_name_for_name' => $input['name'],
            'custom_name_for_email' => $input['email'],
            'custom_name_for_password' => Hash::make($input['password']),
        ]);
    }

所以,在简历中:

1- 我们需要创建自定义用户模型。

2- 在 config/auth.php 中更改默认模型。

'providers' => [
        'users' => [
            'driver' => 'eloquent',
            'model' => App\Models\Usuario::class,
        ],

3- 然后修改 App\Actions\Fortify 文件中的字段名称

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-12-06
    • 2016-02-04
    • 1970-01-01
    • 2014-05-24
    • 1970-01-01
    • 2023-01-11
    • 2021-11-18
    • 2015-07-18
    相关资源
    最近更新 更多