我对此很陌生,因此请原谅我的编码水平。我有一个小型工作负载分配应用程序。它使我可以在工人之间转移任务。这个想法是一个工人最多只能完成3个任务。因此,我希望能够将一项任务从一名工人转移到另一名工人。在过程中增加和减少它们的数量。
id |名称| totalTasks
id |标题|说明| worker_id
public function transferTask(Request $request)
{
$taskid = $request['taskid'];
$currentWorker = $request['currentWorker'];
$newWorker = $request['newWorker'];
DB::table('tasks')
->where('id', $taskid)
->update(['user_id' => $newWorker]);
DB::table('workers')
->where('id', $currentWorker)
->decrement('totalTasks');
DB::table('workers')
->where('id', $newWorker)
->increment('totalTasks');
return redirect()->back()->with('message', 'Transfer Done');
}
我能够将任务从一个工作人员转移/更新到另一个工作人员,但是我无法更新将其任务从其删除并添加到另一工作人员的工作人员的totalTasks。
我需要做些什么来更新currentWorker和totalWorker的totalTasks上的计数。任何帮助,将不胜感激。
我认为您在列名上有误,应该是这样的:
DB::table('workers')
->where('id', $currentWorker)
->decrement('total_tasks');
DB::table('workers')
->where('id', $newWorker)
->increment('total_tasks');
因为关于documentation,您几乎是正确的