Возможно ли иметь отдельную таблицу для регистрации и отдельную таблицу для аутентификации в каркасах аутентификации по умолчанию laravel?

Я проверил config / auth.php, но он разрешает только одну таблицу, которая по умолчанию является «пользователями».

1
Anthony Famorcan 8 Окт 2020 в 06:15

2 ответа

Лучший ответ

Проверьте файл RegisterController.php, который находится в той же папке, что и LoginController.php

Проверьте следующие функции

    protected function validator(array $data)
    {
        return Validator::make($data, [
            'name' => ['required', 'string', 'max:255'],
            'email' => ['required', 'string', 'email', 'max:255', 'unique:users'],
            'password' => ['required', 'string', 'min:8', 'confirmed'],
        ]);
    }



измените 'unique:users' на 'unique:custom_table'

0
Muhamad Rafi Pamungkas 8 Окт 2020 в 11:50

Пожалуйста, попробуйте открыть файл RegisterController.php
в app/Http/Controllers/Auth/RegisterController.php

В самом конце есть функция create, просто переопределите эту функцию



Например

this is the default:

    protected function create(array $data)
    {
        return User::create([
            'name' => $data['name'],
            'email' => $data['email'],
            'password' => Hash::make($data['password']),
        ]);
    }



    protected function create(array $data)
    {

        TableForRegist::create([
            'name' => $data['name'],
            'email' => $data['email'],
            'password' => Hash::make($data['password']),
        ]);

        return User::create([
            'name' => $data['name'],
            'email' => $data['email'],
            'password' => Hash::make($data['password']),
        ]);
    }
0
Muhamad Rafi Pamungkas 8 Окт 2020 в 05:20