php - 在一个数据库列中存储多个值

标签 php mysql laravel

我正在尝试创建一个数据透视表来帮助跟踪我的应用程序中的“挑战”。基本上我有一个 challenge_task 数据透视表,它创建挑战和任务之间的关系。当面临挑战的用户完成任务时,我希望能够告诉他们,以便我可以跟踪用户的进度。如何存储多个用户完成挑战任务的最佳方式?

我正在考虑在数据透视表中添加一个名为 user_completedjson 列来处理此问题并为每个完成该操作的用户存储 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/

相关文章:

php - Bootstrap 中表中行中的信息错位

php - 使用 PHPUnit 进行数据库测试的最佳实践

具有 id 等于列别名的 MySQL

php - SELECT LAST_INSERT_ID() 未正确生成

laravel - 避免在运行时向 Vue 实例或其根 $data 添加响应式属性 - 在 data 选项中预先声明它。

php - Laravel:whereIn 变量

php - 获取 Android 应用程序的类别 - 在服务器端

php - 使用 codeigniter 进行子查询

php - Propel2 与表连接,然后使用聚合函数进行分组

mysql - 根据类别选择项目