2016-01-20 163 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

相关问题