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

Laravel по умолчанию запрашивает базу данных с именем «laravel» и таблицу пользователей с именем «users», но я назвал их по-другому и хочу, чтобы это работало. Ниже ошибка, которую он дает мне:

SQLSTATE [42S02]: базовая таблица или представление не найдены: 1146 Таблица «laravel.users» не существует

РЕДАКТИРОВАТЬ: я сохранил config/database.php по умолчанию, ничего не меняя внутри него.


person apwnn    schedule 20.04.2020    source источник


Ответы (1)


Вам нужно обновить имя вашей базы данных в config/database.php (проверьте массив подключений), чтобы оно не было пользовательской базой данных laravel. Пожалуйста, проверьте также файл .env для ссылок на имена баз данных laravel.

Чтобы не использовать таблицу users, вам необходимо обновить свойство $table вашего класса User. (Класс пользователя поставляется с установкой laravel по умолчанию).

RegisterController/@validator метод необходимо обновить для другой таблицы.

person Ersoy    schedule 20.04.2020
comment
Все в порядке с моим файлом env. DB_DATABASE=mydbname Что мне нужно изменить в моем классе User? Пожалуйста, будьте более конкретными - person apwnn; 21.04.2020
comment
Вы запускали php artisan config:clear после изменения переменных .env - person Ersoy; 21.04.2020
comment
Да. Но проблема остается - person apwnn; 21.04.2020
comment
не могли бы вы отредактировать свой вопрос и добавить database.php - а как насчет users.table? - person Ersoy; 21.04.2020
comment
На самом деле ошибка изменилась, извините, я ее не заметил: SQLSTATE[42S02]: Базовая таблица или представление не найдено: 1146 Таблица 'pyramid.users' не существует. Конечно, пирамида - это мое имя в базе данных. - person apwnn; 21.04.2020
comment
Вы обновили свойство таблицы вашего класса Users? тогда это должно работать - person Ersoy; 21.04.2020
comment
Что мне делать, потому что, возможно, я не сделал это должным образом. Я только что добавил protected $table = 'nameofmytable'; внутри User.php, но это не сработало - person apwnn; 21.04.2020
comment
Давайте продолжим обсуждение в чате. - person Ersoy; 21.04.2020
comment
Что мне делать, потому что, возможно, я не сделал это должным образом. Я только что добавил protected $table = 'nameofmytable'; внутри User.php, но это не сработало - person apwnn; 21.04.2020