电话属于用户。现在我如何通过 belongsTo 关系插入电话和用户数据并在电话表中自动获取 user_id 外键。在这里,我尝试了这段代码,但不起作用。
$phoneData = $request->get('phone');
$userData = $request->get('name');
$phone->user()->create($userData);
$phone->create($phoneData);
电话属于用户。现在我如何通过 belongsTo 关系插入电话和用户数据并在电话表中自动获取 user_id 外键。在这里,我尝试了这段代码,但不起作用。
$phoneData = $request->get('phone');
$userData = $request->get('name');
$phone->user()->create($userData);
$phone->create($phoneData);
你不能在没有用户的情况下创建电话,不建议这样做,因为你的数据库中必须有外键约束,不会让你..
$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();
像这样的东西:
$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);
}