电话属于用户。现在,我如何同时通过belongsTo Relationship插入电话和用户数据,并自动在电话表中获取user_id外键。在这里,我尝试使用此代码,但不起作用。
$phoneData = $request->get('phone');
$userData = $request->get('name');
$phone->user()->create($userData);
$phone->create($phoneData);
答案 0 :(得分:0)
类似这样的东西:
$userData = $request->get('name');
$phoneData = $request->get('phone');
$user = User::create($userData);
$user->phones()->save(new Phone($phoneData));
当然,您还需要在User模型上定义关系:
// \App\User.php
public function phones()
{
return $this->hasMany(\App\Phone::class);
}
答案 1 :(得分:0)
您无法在没有用户的情况下创建电话,因此不建议这样做,因为您必须在数据库中拥有的外键约束不会让您..
$userData = $request->get('name');
$phoneData = $request->get('phone');
$phone = new Phone();
$phone->user()->associate(User::create($userData));
$phone->save();
也许您正在寻找类似的东西...
用于更新。
$phone = isset($phoneData['id'])
? Phone::where('id', $phoneData['id'])->first() : new Phone();
$phone->user()->associate(User::firstOrCreate(
['email' =>$userData['email']], .... extra data from user));
$phone->save();