У меня была проблема с самим собой, причина в том, что я понимаю, что js читает это в алфавитном порядке, поэтому 1-9 в порядке, но 10 меньше, чем 2, поскольку он читает только первое число.
так что я сделал, добавил несколько цифр перед моим идентификатором. так что всегда было одинаковой длины.
1000, 1001, 1002 - вплоть до 9999 (если вам нужно более 10.000 сущностей, добавьте экстра ноль)
Я использовал Mysql для добавления чисел, поскольку я извлекаю все данные, хотя это.
так мой код будет выглядеть так
$sortnum = $row['id'];
$sortnum = "1".str_pad($sortnum, 4, '0', STR_PAD_LEFT);
если у вас есть идентификатор 10, он вернет 10010, а если у вас 2, будет 10002
Таким образом, JS будет читать правильно, так как 10002 меньше, чем 10010
Я знаю, что это может быть не очень хороший или непростой способ сделать это, но для меня это сработало, и пока я не найду лучшего решения, оно подойдет.
Редактировать:
если у вас есть слот id, заблокированный для чего-то другого, вы можете отсортировать его по контенту и просто запустить контент со скрытым полем, содержащим «id», до того, как он сработает.
тогда все, что вам нужно сделать, это установить в параметре vis.js значение groupOrder для groupOrder: 'content',