Автоматическое увеличение поля на основе другого поля в модели Laravel

Я реализовал проект в Laravel.
Ниже приведена схема моей базы данных.

У пользователя много служб, а у службы много задач. У меня есть стол
«service_tasks» с task_id (автоинкремент), service_id и
поля task_order.

Теперь, когда создается новая задача, порядок задач должен автоматически увеличиваться в соответствии с полем service_id.

Например, вот так.

id      service_id      task_order
1       101             1
2       101             2
3       102             1
4       102             2
5       103             1

Я реализовал следующее решение.

Сначала я считаю общее задание для услуги и добавляю плюс один для поля заказа, но когда два или более пользователя одновременно добавляют задание для одного и того же сервиса, тогда заказ для сервиса не работает (один и тот же пользователь вошел в систему в более чем одном устройства и работающие на одном сервисе).

обновленный

$task = new ServiceTask();
$task->service_id = 139;
$task->task_order = ServiceTask::where('service_id',139)->count()+1;
$task->save();

Обратите внимание, что я не могу изменить структуру таблицы.

0

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector