170 похожих чатов

Ребят, сделал поле позиции и алгоритм обновления позиции:

$category = Category::findOrFail($id);

$move = $desiredPosition > $currentPosition ? 'down' : 'up';

$current = $category->display_order;

$newPosition = $category->display_order + ($desiredPosition - $currentPosition);

$category->display_order = 0;

$category->save();

if ($move == 'down') {
Category::where('display_order', '>', $current)
->where('display_order', '<=', $newPosition)
->update(['display_order' => \DB::raw('display_order - 1')]);
} else if ($move == 'up') {
Category::where('display_order', '<', $current)
->where('display_order', '>=', $newPosition)
->update(['display_order' => \DB::raw('display_order + 1')]);
}

Category::where('display_order', 0)
->update(['display_order' => $newPosition]);

оно вып-ся после запроса с jquery sortable. Но тут не учитывается что если display_order идет не подряд, такое может случиться после удаления с БД. Можно ли как то его доработать или придется после удаления смещать?

1 ответов

2 просмотра

если у тебя смещение на 1 позицию просто бери элемент с текущей позицией и элемент который перемещаем, и меняй их позиции. И лучше при удалении пересчитывать позиции

Похожие вопросы

Обсуждают сегодня

Всем привет, написал код ниже, но он выдает сегфолт, в чем причина? #include <stdio.h> #include <stdlib.h> #include <string.h> struct product { char *name; float price; };...
buzz базз
75
Хотел бы спросить у знающих, правильную ли я выбрал книгу для начала изучения ассемблера Юрова В.И ? Или есть более лучшие книги для начала обучения?
Botsman
31
$params = [ 'formid' => 'feedbackForm', 'formTpl' => '@CODE: <form class="form-validate" data-id="ajax_form"> <fieldset class="margin-bottom-md"> ...
Pathologic
1
Всем привет, подскажите/посоветуйте пожалуйста. Фаердак компоненты, имею одно место где бизнес хочет видеть при открытии формы список всех клиентов, это порядка 30к. Мои дово...
Sasha Sch
14
Здравствуйте. Задача состоит в том, чтобы сделать real-time чат в мобильном приложении. После передачи сообщения пользователем через веб-сокеты, для основного и долговременног...
🐾
5
А как лучше конвертировать физический адрес в виртуальный при маппинге? В случае ядра у меня, например, direct mapping, первые 768МБ я как есть мапплю в higher half, а остальн...
Evg Resh
8
Книга Юрова В.И пойдёт для обучения?
Botsman
24
Всем доброго дня, ребят подскажите пожалуйста, если в курсе по ассемблеру используется MASM32, могу ли я использовать FASM? В чем явная разница и будет ли у меня все работать?
Botsman
17
Где можно найти примеры эффективного "асинхронного" tcp сервера на C? Я видел select, kqueue, poll, epoll и т.д. Ввод-вывод неблокирующий, но обработка клиентов блокирующая
#
10
Hi Everyone! To all Are you Looking for Interview Support at the Lowest Price? Look no further! Then contact us 👉We offer Interview Support :-for a low cost variety of tech...
Rambabu Nallamilli
3
Карта сайта