laravel - 在注册相关表中添加默认用户设置,Laravel
问题描述
当用户注册时,如何在我有表的 user_settings 表中保存一些默认用户设置?我有两个模型的 hasOne 和 belongsTo 关系设置。我在寄存器控制器中尝试了类似的操作,但出现错误。
protected function create(array $data)
{
$user = User::create([
'name' => $data['name'],
'email' => $data['email'],
'password' => Hash::make($data['password']),
]);
Return Usersetting::create([
'user_id' => $user->id,
'user_name' => 'u'.$user->id,
'profile_name' => $user->name,
'user_email' => $user->email,
'user_private account' => 0,
'user_fans_counter' => 1,
'new_subscriber_alert' => 1,
'new_tip_alert' => 1,
'new_private_message_alert' => 1,
'new_referral_alert' => 1,
]);
}
解决方案
您可以剥离第二部分并registered
在RegisterController
. 如果您正确设置了关系,那么您可以添加如下
public function registered(Request $request, $user)
{
$user->userSetting()->create([
'user_name' => 'u'.$user->id,
'profile_name' => $user->name,
'user_email' => $user->email,
'user_private account' => 0,
'user_fans_counter' => 1,
'new_subscriber_alert' => 1,
'new_tip_alert' => 1,
'new_private_message_alert' => 1,
'new_referral_alert' => 1,
]);
}
这样,user_id
应该通过关系自动填充。
推荐阅读
- python - 直方图未显示在 matplotlib 中
- mysql - 如何查询循环数据?
- mysql - Bitnami 数据库字符集和排序规则问题,站点是在本地创建的
- vue.js - Vue JS:TypeError:无法读取未定义的属性“preventDefault”
- javascript - 在 typescript 接口中编写类型对象的接口
- postgresql - Postgresql 没有缓存的序列
- google-apps-script - 移动一个文件夹中的所有文件
- javascript - 获取对托管在 cloudflare 中的 Api 的请求在部署到 heroku 时返回 403 错误
- jquery - 将 django 表单 CheckboxSelectMultiple 放入下拉列表
- bash - Bash:阅读文本直到结束并根据一个单词将其拆分