我有三张桌子,
roles(id, name);
users(id, email, password);
user_role(id, user_id, role_id);
Run Code Online (Sandbox Code Playgroud)
在这种情况下,我将users表与多个关系的角色表相关联.
我有两个雄辩的模型
Role
+users(){
belongsToMany('User')
}
User
+roles(){
belongsToMany('Role')
}
Run Code Online (Sandbox Code Playgroud)
现在,问题是我想添加一个新用户以及我想分配给用户的角色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();
Run Code Online (Sandbox Code Playgroud)
接下来做什么???
luk*_*ter 21
它真的都在文档中描述.
无论如何,这是你如何做到这一点:
$user = new User();
$user->username = Input::get('username');
$user->password = Hash::make(Input::get('password'));
$user->save();
$user->roles()->attach($roles);
Run Code Online (Sandbox Code Playgroud)
重要的是您必须在附加角色之前保存用户,否则用户没有在数据透视表中使用的ID.