Laravel 我已经在生成的用户表中添加了avatar列,如何为avatar列设置默认值

Laravel 我已经在生成的用户表中添加了avatar列,如何为avatar列设置默认值,laravel,Laravel,我使用的是Laravel框架,我已经通过“$php artisan make:auth”命令生成了所有注册和登录,现在我在用户表中添加了一个名为“avatar”的新列,我想将其设置为“noimage.jpg”,因此每次我注册时默认都会添加“noimage.jpg” 寄存器控制器 受保护函数创建(数组$data) { 返回用户::创建([ 'name'=>$data['name'], 'username'=>$data['username'], 'email'=>$data['email'], '

我使用的是Laravel框架,我已经通过“$php artisan make:auth”命令生成了所有注册和登录,现在我在
用户
表中添加了一个名为“avatar”的新列,我想将其设置为“noimage.jpg”,因此每次我注册时默认都会添加“noimage.jpg”

寄存器控制器

受保护函数创建(数组$data)
{
返回用户::创建([
'name'=>$data['name'],
'username'=>$data['username'],
'email'=>$data['email'],
'password'=>Hash::make($data['password']),
“阿凡达”=>“noimage.jpg”//它应该是什么样子?
]);
}

您还必须将
头像
添加到模型的
$filleble
属性中。否则,您无法使用
create
分配它。请参阅上的文档

相反,您可以手动分配化身:

受保护函数创建(数组$data)
{
$user=user::创建([
'name'=>$data['name'],
'username'=>$data['username'],
'email'=>$data['email'],
'password'=>Hash::make($data['password']),
]);
$user->avatar='noimage.jpg';
返回$user;
}

您还必须将
头像
添加到模型的
$filleble
属性中。否则,您无法使用
create
分配它。请参阅上的文档

相反,您可以手动分配化身:

受保护函数创建(数组$data)
{
$user=user::创建([
'name'=>$data['name'],
'username'=>$data['username'],
'email'=>$data['email'],
'password'=>Hash::make($data['password']),
]);
$user->avatar='noimage.jpg';
返回$user;
}

为您的模型设置默认值的另一种方法是使用Laravel lifecycle


const DEFAULT_AVATAR='noimage.jpg'
受保护的静态函数启动()
{
父::boot();
静态::创建(函数(用户$User){
如果(!$user->avatar){
$user->avatar=self::DEFAULT\u avatar;
}
});
}

请参见:

为您的模型设置默认值的另一种方法是使用Laravel lifecycle


const DEFAULT_AVATAR='noimage.jpg'
受保护的静态函数启动()
{
父::boot();
静态::创建(函数(用户$User){
如果(!$user->avatar){
$user->avatar=self::DEFAULT\u avatar;
}
});
}

请参阅:

当前代码有什么问题?它应该可以工作。@Thomas its没有将noimage.jpg添加到avatar列,默认为空。当前代码有什么问题?它应该可以工作。@Thomas It没有将noimage.jpg添加到avatar列,默认为空