如何创建“跟踪所有编辑”

发布于 2024-10-24 21:01:42 字数 255 浏览 1 评论 0原文

我在我的网站上使用 PHP(Yii 框架)和 MySQL 数据库。

用户可以发布和编辑一些文章。 我怎样才能像这里一样存储每个编辑版本? (与维基百科一样,该网站是协作编辑的,并且所有编辑都会被跟踪

我应该使用什么以及如何使用?数据库结构?一些图书馆? 我应该使用哪些关键字进行谷歌搜索? :)

UPD。以及如何显示修订之间的更改,就像SO中的这里一样?

谢谢

I'm using PHP (Yii-framework) and MySQL database on my site.

Users can post and edit some articles.
How can I store every edit version like here in SO?
(Like Wikipedia, this site is collaboratively edited, and all edits are tracked)

What sould I use and how? Database structure? Some libraries?
What keywords should I use to google? :)

UPD. And how to display changes between revisions, like here in SO?

Thanks

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

站稳脚跟 2024-10-31 21:01:42

我将使用您当前的数据库结构(如果您有一个,否则使用您需要的所有字段创建一个),但添加一两列额外的列,最重要的是修订号。每次进行修订时,可以简单地增加该值。干净地编码到数据库 INSERT 命令中可能很棘手(注意,使用 INSERT 而不是 UPDATE,因为您想保留旧帖子)。

另一种方法是有一列存储更新提交的时间(也许只是“创建时间”?),从中您可以收集有多少更新(计算行数)以及它们的顺序(按日期订购)。

I'd use your current database structure (if you have one, otherwise make one with all the fields you need), but add 1 or two extra columns, the most important being the revision number. This can simply be incremented each time a revision is made. This can be tricky to code cleanly into the database INSERT command (note, use INSERT not UPDATE because you want to keep the old post).

Another way would be to have a column storing the time the update was submitted (maybe just "created time"?), and from that you can glean how many updates there have been (count the rows), and what order they are in (order by date).

筑梦 2024-10-31 21:01:42

您正在寻找具有审核日志记录功能的 PHP ORM。 Yii 框架中嵌入的 ORM 是什么?

我知道 Symfony 使用 Doctrine 并有一个专用的版本化插件这正是你想要的。

也许是“logable_behavior”Yii 骨架可以帮助你。

You're looking for a PHP ORM with audit logging capabilities. What is the ORM embedded within Yii framework?

I know that Symfony uses Doctrine and has a dedicated Versionable Plugin that does exactly what you want.

Maybe the "logable_behavior" Yii skeleton can help you.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文