我在Laravel实施了一个项目。 以下是我的数据库架构。
用户拥有许多服务,而服务有许多任务。我有一张桌子 带有task_id(自动增量),service_id和的“service_tasks” task_order fields。
现在,当创建新任务时,任务顺序应根据service_id字段自动递增。
例如像这样。
id service_id task_order
1 101 1
2 101 2
3 102 1
4 102 2
5 103 1
我实施了以下解决方案。
我首先计算服务的总任务,然后为订单字段添加加1,但当两个或更多用户同时为同一服务添加任务时,订单不适用于服务(同一用户已登录)多个设备并使用相同的服务)。
更新
$task = new ServiceTask();
$task->service_id = 139;
$task->task_order = ServiceTask::where('service_id',139)->count()+1;
$task->save();
请注意,我无法更改表格结构。