Laravel в many to many sync section есть пример:Laravel: Идентификаторы синхронизации выпуск
Вы также можете передать дополнительные промежуточные значения таблицы с идентификаторами:
$user->roles()->sync([1 => ['expires' => true], 2, 3]);
позволяет сказать, что у нас есть этот массив retrived из выбранные пользователем роли:
[2,3,1 => ['expires' => true]]
но этот массив не останется таким, как is.in то, как 3
и 1=> ..
имеет массив ключ эквивалентный 1
.so в 3
будет переопределена .at конца этого массив будет повернут к:
[2,1 => ['expires' => true]] //array value 3 is removed
как могу я решить эту проблему, как я не контролируете порядок ролей?