好的,我正在为我的公司创建一个任务管理器。一个用户可以将任务分配给多个其他用户。所以我想到了 2 种实现方法。
这是选项一的任务表(至少是本次讨论中重要的列):
----------------------------------------------
| id | assigned_to | assigned_from |
---------------------------------------------
| 1 | 1,3,6 | 4 |
--------------------------------------------
| 2 | 1,4 | 2 |
---------------------------------------------
所以在这里我几乎只是用逗号分隔分配给这个特定任务的每个 user_id
选项 2:
----------------------------------------------------------
| id | task_id | assigned_to | assigned_from |
------------------------------------------------------------
| 1 | 335901 | 1 | 4 |
-----------------------------------------------------------
| 2 | 335901 | 3 | 4 |
-----------------------------------------------------------
| 3 | 335901 | 6 | 4 |
-----------------------------------------------------------
| 4 | 564520 | 1 | 2 |
-----------------------------------------------------------
| 4 | 564520 | 4 | 2 |
-----------------------------------------------------------
因此,正如您在此处看到的那样,我没有将 assiged_to 放在此处,而是创建了一个随机数的任务 ID,然后我可以按“task_id”进行分组。这是目前我构建它的方式,但出于某种原因,感觉它可能会在未来搞砸我(不是那个选项不会给我同样的感觉)。所以我的问题是你们推荐哪种方式,或者是否有其他更好的方式可以做到这一点?
最佳答案
选项 2 是更好的解决方案,因为您可以实际使用表格。你可以例如使用
创建另一个表Tasks
Task_id | Task_name | Budget | ...
或者包含 assigned_to
和 assigned_from
用户 ID 的表。如果您使用第二个选项,所有这些表都可以连接在一起。
顺便说一句,它是正确的 normalization form
关于php - 将多个用户分配给 'task',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26194248/