0

电话属于用户。现在我如何通过 belongsTo 关系插入电话和用户数据并在电话表中自动获取 user_id 外键。在这里,我尝试了这段代码,但不起作用。

$phoneData = $request->get('phone');
$userData = $request->get('name');
$phone->user()->create($userData);
$phone->create($phoneData);

这是表单输入字段

4

2 回答 2

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();
于 2018-12-01T21:51:09.870 回答
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);
}
于 2018-12-01T19:29:19.043 回答