我有三张桌子,
roles(id, name);
users(id, email, password);
user_role(id, user_id, role_id);
在这种情况下,我将users表与多个关系的角色表相关联。
我有两个雄辩的模型
Role
+users(){
belongsToMany('User')
}
User
+roles(){
belongsToMany('Role')
}
现在,问题是我想添加一个新用户以及我想分配给用户的角色ID。如何使用Laravel最佳实践向数据透视表插入值?
我现有的代码是: -
$roles = Input::get('roles'); // arrays of role ids
$user = new User();
$user->username = Input::get('username');
$user->password = Hash::make(Input::get('password'));
$user->save();
下一步做什么???
答案 0 :(得分:18)
一切都是described in the documentation。
无论如何,这是你如何做到的:
$user = new User();
$user->username = Input::get('username');
$user->password = Hash::make(Input::get('password'));
$user->save();
$user->roles()->attach($roles);
重要的一点是,您必须在附加角色之前保存用户,否则用户还没有要在数据透视表中使用的ID。