我尝试使用以下内容更新我的数据透视表。
// Controller
if ( Input::has( 'roles' ) )
{
$user = $this->user->find( $id );
$user->roles()->sync( Input::get('roles') );
return Redirect::back()->with( 'success', 'You have successfully updated the user' );
}
// Model
public function roles()
{
return $this->belongsToMany('Roles', 'users_roles', 'user_id', 'role_id');
}
当用户更新他们的角色时,它会很好,但只更新或写入1条记录,而role_id为0。
我做错了什么?有人可以帮忙吗?
由于
答案 0 :(得分:1)
问题是我没有将整数数组传递给sync方法,所以我将其修改为......
$user->roles()->sync( array_keys( Input::get( 'roles' ) ) );
感谢@alexrussell