我使用注册表单,允许填写来自2个不同相关模型User
和UserProfile
的数据,接下来这个数据需要插入数据库中,所有数据都属于新条目换句话说,我在数据库中有一个新的User
和一个新的UserProfile
。
我不知道在插入新UserProfile
后如何使用相关模型插入User
。
以下是User
型号:
class User extends Model implements AuthenticatableContract, CanResetPasswordContract {
use Authenticatable, CanResetPassword;
protected $fillable = ['first_name', 'last_name','email', 'password'];
protected $hidden = ['password', 'remember_token'];
public function getFullNameAttribute(){
return $this->first_name . ' ' . $this->last_name;
}
public function profile() {
return $this->hasOne('App\UserProfile');
}
}
这里是UserProfile
模型:
class UserProfile extends Model {
protected $fillable = ['bio', 'twitter', 'website', 'birthdate'];
public function getAgeAttribute(){
return \Carbon\Carbon::parse($this->birthdate)->age;
}
}
这就是我想做的事,但我无法理解:
public function postNew(){
$params = Request::all();
$user = new User();
$user->fill($params);
$user->save();
$user->profile->save(new UserProfile($params)); //line 47
}
当我尝试运行postNew()
方法时,laravel会给我这个错误:
FatalErrorException in UserController.php line 47:
Call to a member function save() on null
答案 0 :(得分:0)
使用$ user->个人资料() - >保存(新的UserProfile($ params));