У меня проблема с созданием пользователя-администратора для пакета панели администратора Voyager в Laravel 5.4

после установки пакета рейса с этой командой:

php artisan voyager:install

Мне нужно было создать администратора с помощью этой команды:

php artisan voyager:admin [email protected] --create

а затем введите имя и пароль

Проблема в том, что после ввода имени пользователя и пароля он возвращает эту ошибку

Общая ошибка: 1364 Поле ’employee_name’ не имеет значения по умолчанию
(SQL: вставить в employee (email) значения ([email protected]))

и у меня уже есть база данных, но с другим соглашением об именах, например:
таблица пользователей, которую я называю сотрудником, и поле имени, называемое employee_name

У меня вопрос, есть ли способ сопоставить ожидаемые поля в Voyager с моими фактическими полями в моей базе данных, потому что я не могу их изменить?

Заранее спасибо .

2

Решение

Когда вы выполняете эту команду, Voyager создает нового пользователя для вас, используя функцию массового назначения.

Итак, добавьте $fillable к User модель:

protected $fillable = ['name', 'email', 'password'];
0

Другие решения

Поскольку вы изменили обычную структуру модели User и, вероятно, столкнетесь с аналогичными проблемами с другими пакетами, которые пытаются добавить пользователей, вы можете создать метод boot () в модели пользователя, чтобы установить this-> employee_name в this-> name и затем сбросьте this-> name, чтобы, когда записи из других пакетов пытались использовать атрибут name, вы исправляли его в атрибуте employee_name.

Это вне моей головы, основываясь на памяти, так что это может включать немного больше «логики», но я думаю, что если вы посмотрите на метод загрузки, вы увидите, что вы можете делать такие вещи. Я использовал его для автозаполнения столбцов с динамически основанными значениями.

НТН

0

По вопросам рекламы [email protected]