我正在为我制作的iOS应用程序制作一个web应用程序。我想管理我所做的应用程序中的问题,但现在我也希望用户有机会向web应用程序提交问题。但是,用户的问题不能仅仅添加到列表中,因为我想首先批准这是一个有效的问题。
我想做以下几件事:
使用这种方法,我必须复制试题表(以及答案和类别表),并带有前缀或其他内容(例如,user_submitted_questions)。
这是一种“好”的做法吗?或者我能做得更好/更有效率?
发布于 2011-11-21 14:16:33
我不会重复整个问题。相反,尝试向问题对象添加一个status字段。当问题进入web应用程序时,可以持久化提交状态。一旦您检查了它们,就可以更新它们,使其被批准或拒绝。您可以对前端进行编码,使其仅在公共视图中使用status == APPROVED显示问题。
这避免了维护两个问题表/对象的开销(随着系统的发展,现在只需要在添加/删除字段时维护一个表/对象)。批准一个问题的性能也应该提高,因为它只是更新一个字段,而不是插入一个全新的行。如果表增长过快,则始终可以构建清除或移动已拒绝问题的存档(或截断)作业。
发布于 2011-11-21 14:16:13
假设你把问题和答案保存在数据库里.
在我们的系统中,我们只需在数据库中有一个名为“批准”的可空位列和一个相应的时间戳就可以做到这一点。当问题出现时,该值最初为null。
在批准或拒绝时,我们适当地设置位标志,并更新时间戳以显示其被批准或拒绝的时间。它比重复的表简单得多。
https://stackoverflow.com/questions/8213110
复制相似问题