我对laravel相对较新,并且有一个需要手动配置的项目。
背景:
设定: 个人资料表 => id,名字,头像等 用户表 => profile_id,电子邮件,密码
由于Laravel Auth(脚手架)处理注册和登录。我想在保存用户表之前将数据保存到Profile表中。
protected function create(array $data)
{
$profile = Profile::create
([
'slug' => $data['name'],
'name' => $data['name'],
]);
$user = User::create
([
'profile_id' => $profile->id,
'name' => $data['name'],
'email' => $data['email'],
'password' => bcrypt($data['password']),
]);
return $user;
}
但这不起作用。并且错误消息告诉我在查询中没有分配profile_id。
我做错了什么?
答案 0 :(得分:0)
您的模型是如何设置的?如果Eloquent和您的数据库设置正确,您可以这样做:
$profile = new Profile;
$profile->slug = $data['name'];
$profile->name = $data['name'];
$profile->save();
// At this point now you'll be able to get an ID of the profile
$user = new User;
$user->profile_id = $profile->id;
$user->name = $data['name'];
$user->email = $data['email'];
$user->password = bcrypt($data['password']);
$user->save();
return $user;