после установки пакета рейса с этой командой:
php artisan voyager:install
Мне нужно было создать администратора с помощью этой команды:
php artisan voyager:admin [email protected] --create
а затем введите имя и пароль
Проблема в том, что после ввода имени пользователя и пароля он возвращает эту ошибку
Общая ошибка: 1364 Поле ’employee_name’ не имеет значения по умолчанию
(SQL: вставить вemployee
(
и у меня уже есть база данных, но с другим соглашением об именах, например:
таблица пользователей, которую я называю сотрудником, и поле имени, называемое employee_name
У меня вопрос, есть ли способ сопоставить ожидаемые поля в Voyager с моими фактическими полями в моей базе данных, потому что я не могу их изменить?
Заранее спасибо .
Когда вы выполняете эту команду, Voyager создает нового пользователя для вас, используя функцию массового назначения.
Итак, добавьте $fillable
к User
модель:
protected $fillable = ['name', 'email', 'password'];
Поскольку вы изменили обычную структуру модели User и, вероятно, столкнетесь с аналогичными проблемами с другими пакетами, которые пытаются добавить пользователей, вы можете создать метод boot () в модели пользователя, чтобы установить this-> employee_name в this-> name и затем сбросьте this-> name, чтобы, когда записи из других пакетов пытались использовать атрибут name, вы исправляли его в атрибуте employee_name.
Это вне моей головы, основываясь на памяти, так что это может включать немного больше «логики», но я думаю, что если вы посмотрите на метод загрузки, вы увидите, что вы можете делать такие вещи. Я использовал его для автозаполнения столбцов с динамически основанными значениями.
НТН