如何使用惰性关系将数据保存在 Laravel 中的相关 table 中?

How to save data in related table in Laravel using lazy relations?

我有两个 table: users, users_parameters.

关系如下:users.id = users_parameters.user_id

在模型 User 中我有:

public function parameters()
    {
        return $this->hasOne('App\UserParameters', 'user_id');
    }

我尝试添加新用户,例如:

$user = new User();
$user->password = "123";
$user->email = "user@example.com";

$user->parameters()->name = $request->name;
$user->save(); // or ->push();

它不起作用,不要将新用户添加到相关 tables。

试试这个:

$user = new User();
$user->password = "123";
$user->email = "user@mail.ru";
$user->save();

$parameter = new Parameter();
$parameter->name = $request->name;
$parameter->save();

$user->parameters()->save($parameter);

Here's an explanation.

或使用mass assignment:

$user = User::create(['name' => '123', 'email' => 'user@mail.ru']);
$user->parameters()->create(['name' => $request->name]);