2016-10-22 4 views
1

私は2つのテーブル:users, users_parametersを持っています。 、それは動作しません遅延関係を使ってLaravelの関連テーブルにデータを保存する方法は?

$user = new User(); 
$user->password = "123"; 
$user->email = "[email protected]"; 

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

新しいを追加していけない:私はなどのように、新しいユーザーを追加しようとしました

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

:私が持っているモデルUserusers.id = users_parameters.user_id

関係はようですユーザーを表に変換します。

答えて

4

これを試してみてください:

$user = new User(); 
$user->password = "123"; 
$user->email = "[email protected]"; 
$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' => '[email protected]']); 
$user->parameters()->create(['name' => $request->name]); 
関連する問題