gpt4 book ai didi

mysql - 通过 eloquent 在 Laravel 中更新文件夹计数级联删除

转载 作者:行者123 更新时间:2023-11-29 15:58:42 25 4
gpt4 key购买 nike

我有 3 张 table :

  1. 任务
  2. 文件夹
  3. 文件夹任务

任务表将包含所有task_name文件夹表将包含folder_nametask_countFolder Tasks 是一个数据透视表,它将存储 folder_idtask_id

所有表都具有多对多关系。

我添加了级联删除任务。因此,如果我删除一个任务,那么它将删除所有地方,包括数据透视表。我正在使用 Eloquent 删除删除任务。这工作正常

但是,一旦删除任务,我就需要更新文件夹表中每个文件夹的任务计数。

由于一个任务可以存储在多个文件夹中,因此级联删除任务时很难更新所有文件夹的 task_count 计数。我被困在这里了。

如何更新受影响文件夹的所有 task_count

最佳答案

您可以使用mysql触发器。这是示例。

USE `test`;
DELIMITER
$$
CREATE TRIGGER `tasks_ADEL`
AFTER DELETE ON tasks FOR EACH ROW
-- Edit trigger body code below this line. Do not edit lines above this one
BEGIN
update folder as f right join folder_tasks as ft on f.id = ft.folder_id set task_count = task_count + 1 where ft.task_id = OLD.id
END;
$$

在这里您可以找到使用示例https://www.w3resource.com/mysql/mysql-triggers.php#MTAD

关于mysql - 通过 eloquent 在 Laravel 中更新文件夹计数级联删除,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56326487/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com