我在Laravel 5.4中为Voyager管理员面板程序包创建管理员用户时遇到问题

Ali*_*eda 6 php laravel laravel-5.4 voyager

使用以下命令安装航行软件包后:

php artisan voyager:install
Run Code Online (Sandbox Code Playgroud)

我需要使用以下命令创建管理员用户:

php artisan voyager:admin your@email.com --create
Run Code Online (Sandbox Code Playgroud)

然后输入名称和密码

问题是输入用户名和密码后返回此错误

常规错误:1364字段'employee_name'没有默认值(SQL:插入employeeemail)值(admin@admin.com))

并且我已经有一个数据库,但是具有不同的命名约定,例如:我将其命名为employees的users表和一个名为employee_name的名称字段

我的问题是,有什么方法可以将voyager中的期望字段与数据库中的实际字段进行映射,因为我无法更改它们?

提前致谢 。

Ste*_*ill 1

由于您更改了用户模型的正常结构,并且可能会遇到尝试添加用户的其他包的类似问题,因此您可以在用户模型中创建一个 boot() 方法,将 this->employee_name 设置为 this->name 并然后取消设置 this->name ,以便当其他包中的记录尝试使用 name 属性时,您可以将其更正为employee_name 属性。

根据记忆,这是我的头脑中的想法,因此它可能涉及更多的“逻辑”,但我认为如果您研究引导方法,您会发现您可以做这种类型的事情。我用它来自动填充基于动态的值的列。

华泰