У меня есть пользовательская разработанная функция пользователя/ролей с таблицей ролей и промежуточной таблицей user_roles. В таблице user_roles также есть некоторые дополнительные данные.Модель с поворотным устройством не устанавливается должным образом после отсоединения всех
Предположим, что пользователь в настоящее время имеет 1 назначенную ему роль, и я должен назначить еще 2 роли этому пользователю. В основном я просто отсоединяю все точки поворота для пользователя, а затем снова добавляю все 3 роли. Это упрощает вещи, и мне не нужно проверять данные json для повторяющихся enteries. Что-то вроде этого.
$user->roles()->detach();
Это прекрасно работает и все записи пользователя шарнирные удаляются. Но когда я снова присоединяю все 3 роли к пользователю, добавляются только новые. Это действительно странно и уже несколько часов пытается отладить его.
Я прохожу через все 3 роли, и я убедился, что цикл действительно правильно принимает эти данные.
$apps = json_encode(array('app1','app2'));
$user->roles()->attach($roleId, ['apps' => $apps]);
Я помню, что я столкнулся с очень похожим вопросом ранее и по другому проекту, но не помню решение. Любая помощь будет назначена.
Вместо того, чтобы устанавливать/отсоединять, вы пробовали смотреть на синхронизацию? Не уверен, что это исправит вашу проблему, но это определенно удобно знать. – Karl
спасибо karl. Я прокомментировал ответ на вопрос, почему использование синхронизации в моем случае немного сложнее. –