[英]I have issue in creating admin user for Voyager Admin panel package in Laravel 5.4
使用此命令安装 voyage 包后:
php artisan voyager:install
我需要使用以下命令创建管理员用户:
php artisan voyager:admin your@email.com --create
然后输入名称和密码
问题是输入用户名和密码后返回此错误
一般错误:1364 字段“employee_name”没有默认值(SQL:插入到
employee
(
我已经有一个数据库,但具有不同的命名约定,例如:我称之为员工的用户表和名为 employee_name 的名称字段
我的问题是,有没有办法将 voyager 中的预期字段与我数据库中的实际字段进行映射,因为我无法更改它们?
提前致谢。
由于您更改了 User 模型的正常结构,并且可能会遇到与尝试添加用户的其他软件包类似的问题,您可以在用户模型中创建一个 boot() 方法,将 this->employee_name 设置为 this->name 和然后取消设置 this->name 以便当来自其他包的记录尝试使用 name 属性时,您将其更正为 employee_name 属性。
这是基于内存的我的头脑,所以它可能涉及更多的“逻辑”,但我认为如果你查看引导方法,你会发现你可以做这种类型的事情。 我用它来自动填充基于动态值的列。
HTH
一般错误:1364 字段 'employee_name' 没有默认值
您可以在数据库中将默认值设置为 null 这解决了问题
使用Mutator将任何将数据添加到 'name' 列的尝试引用到 'employee_name'。
对于您的情况:
应用\\用户.php
public function setNameAttribute($value)
{
$this->attributes['employee_name'] = $value;
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.