我在我的网站上使用 PHP(Yii 框架)和 MySQL 数据库。
用户可以发布和编辑一些文章。 如何在 SO 中存储像这里这样的每个编辑版本? (与维基百科一样,该网站是协作编辑的,并且所有编辑都被跟踪)
我应该使用什么灵魂以及如何使用?数据库结构?一些图书馆? 我应该使用什么关键字来谷歌? :)
更新。以及如何显示修订之间的更改,就像 SO 中的此处一样?
谢谢
最佳答案
我会使用您当前的数据库结构(如果您有一个,否则就用您需要的所有字段制作一个),但添加 1 或两个额外的列,最重要的是修订号。每次进行修订时,这都可以简单地增加。这可能很难将代码干净地写入数据库 INSERT
命令(请注意,使用 INSERT
而不是 UPDATE
因为您想保留旧帖子)。
另一种方法是用一个列来存储提交更新的时间(也许只是“创建时间”?),然后您可以从中收集有多少更新(计算行数)以及它们的顺序在(按日期排序)。
关于php - 如何创建 "All edits are tracked",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5402616/