如何更新在同一个表中具有子任务的任务的状态

时间:2017-02-08 11:12:43

标签: php mysql codeigniter

+----+---------+--------+-----------+
| id | title   | status | parent_id |
+----+---------+--------+-----------+
|  1 | Task 1  |      2 |         0 |
|  2 | Task 2  |      2 |         3 |
|  3 | Task 3  |      0 |         0 |
|  4 | Task 4  |      2 |         3 |
|  5 | Task 5  |      0 |         3 |
|  6 | Task 6  |      2 |         5 |
|  7 | Task 10 |      2 |         0 |
|  8 | Task 8  |      0 |         0 |
+----+---------+--------+-----------+
8 rows in set (0.03 sec)

我有上面的表结构。从记录中可以看出TASK 2TASK 4TASK 5TASK 3的孩子,TASK 5再次拥有孩子TASK 6

所需的操作是:

  1. 将任务标记为DONE也会检查所有子任务的状态。什么时候 子任务是COMPLETE,将任务标记为COMPLETE(而不是DONE)。

  2. 将任务标记为“正在进行”(将状态更改为0 )应更新其 父任务(如果有),以便父项的状态从COMPLETE更改为 DONE。父任务不得从DONE或COMPLETE恢复为IN PROGRESS。

  3. 每个州的状态值

    1. 进展中
    2. 完成
    3. COMPLETE

0 个答案:

没有答案