Автоматическое увеличение поля на основе другого поля в модели Laravel - PullRequest
0 голосов
/ 04 июня 2018

Я реализовал проект в 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();

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...