Обновить группу пользователей на Laravel Sentry

У меня есть динамические флажки и вы хотите обновить группу пользователей на Laravel Sentry, используя метод PUT. Как-то так же, как у этого нет рабочего кода.

$array_of_group_id = [1,2,3];

$user = Sentry::findUserById(1);

// Find the group using the group id
$updateGroup = Sentry::findGroupById($array_of_group_id);

// Assign the group to the user
if ($user->updateGroup($updateGroup ))
{
 // Group assigned successfully
}
else
{
 // Group was not assigned
}
1 ответ

Это ответ на мой вопрос. https://github.com/cartalyst/sentry/issues/219

// Get the current user groups
$userGroups = $user->groups()->lists('group_id');

// Get the selected groups
$selectedGroups = Input::get('groups', array());

$groupsToAdd = array_diff($selectedGroups, $userGroups);
$groupsToRemove = array_diff($userGroups, $selectedGroups);

// Assign the user to groups
foreach ($groupsToAdd as $groupId)
{
 $group = Sentry::getGroupProvider()->findById($groupId);

 $user->addGroup($group);
}

// Remove the user from groups
foreach ($groupsToRemove as $groupId)
{
 $group = Sentry::getGroupProvider()->findById($groupId);

 $user->removeGroup($group);
}

licensed under cc by-sa 3.0 with attribution.