我正在尝试创建一个数据透视表来帮助跟踪我的应用程序中的“挑战”。基本上我有一个 challenge_task
数据透视表,它创建挑战和任务之间的关系。当面临挑战的用户完成任务时,我希望能够告诉他们,以便我可以跟踪用户的进度。如何存储多个用户完成挑战任务的最佳方式?
我正在考虑在数据透视表中添加一个名为 user_completed
的 json
列来处理此问题并为每个完成该操作的用户存储 user_id
任务的挑战。
所以challenge_task
看起来像
challenge_id | task_id | user_completed
这是一个好方法吗?或者有什么更适合这个的吗?
最佳答案
我推荐这样的数据库结构:
challenge: challenge_id | other data
task: task_id | other data
user: user_id | other data
challenge_task: challenge_task_id | challenge_id | task_id
| possibly more data (such as deadline for completion)
challenge_task_users: challenge_task_id | user_id
| possibly more data (such as status: accepted, in progress, completed)
关于php - 在一个数据库列中存储多个值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46412611/