2016-01-20 145 views
1

我正在使用Laravel 5.2,並且我已將用戶組關聯到具有belongsTo關係的任何用戶。現在我想創建具有正確關係的用戶。有沒有可能採取正確的關係來創建方法?Laravel - 使用belongsTo關係創建對象

例如,我當前的代碼創建後更新對象:

$usergroup = Usergroup::findOrFail($usergroupId); 

$user = User::create([ 
     'email' => $request->email, 
     'password' => bcrypt($request->password) ]); 
$user->usergroup()->associate($usergroup); 
$user->save(); 

它的工作原理,但它不是一個漂亮的解決方案。我嘗試了一些東西,但都沒有工作。我想是這樣的:

$usergroup = Usergroup::findOrFail($usergroupId); 

$user = User::create([ 
     'email' => $request->email, 
     'password' => bcrypt($request->password) 
     'usergroup' => $usergroup ]); // does not work! 

回答

2

是,相關模型的id只是保存到外鍵字段:

$user = User::create([ 
    'email' => $request->email, 
    'password' => bcrypt($request->password), 
    'usergroup_id' => $usergroupId // or whatever it is 
]); 
+0

不,那是行不通的。屬性和值是正確的,但不會保存在數據庫中。 – Milgo

+0

正確的屬性沒有保護? –

+0

好吧,我不知道我必須將'usergroup_id'添加到我的模型的$ fillable數組中。謝謝! – Milgo

相關問題