我正在执行此函数以在以后调用它,但是保存在数据库中的只有first_name
,password
和email
。 null
和user_create_id
有user_update_id
。
protected function create(array $data)
{
return User::create([
'first_name' => $data['first_name'],
'password' => Hash::make($data['password']),
'email' => $data['email'],
'user_create_id'=> '0',
'user_update_id'=> '0', ]);
}
是否可以保存user_create_id
和user_update_id
?
答案 0 :(得分:2)
可能没有看到用户模型,您可能需要更新fillable属性以包括这些属性,例如:
protected $fillable = [
'firstname',
'password',
'email',
'user_create_id',
'user_update_id'
];
除非您设置了一个受保护的属性,否则在这种情况下,您只想确保这些属性都没有在受保护的属性中,因为它充当黑名单,而fillable充当mass属性的while列表分配。可行的受保护版本看起来像这样
protected $guarded = [];
答案 1 :(得分:0)
确保您拥有
protected $fillable = [
....
'user_create_id'=> '0',
'user_update_id',
];
在User
类内部
答案 2 :(得分:0)
https://laravel.com/docs/5.7/eloquent#mass-assignment
您还可以使用create方法将新模型保存在一行中。插入的模型实例将从该方法返回给您。但是,在执行此操作之前,您将需要在模型上指定可填充或受保护的属性,因为默认情况下,所有Eloquent模型都可以防止大规模分配。
确保user_create_id
文件中的user_update_id
定义中包含app/User.php
和$fillable
。
答案 3 :(得分:0)
确保这些属性是可填充的。另外,请确保列类型支持字符串,因为您正在使用'0'
,它是字符串,而不是整数:
可填写:
// User model
protected $fillable = [
'first_name',
'password',
'email',
'user_create_id',
'user_update_id'
];