Php 当更新某些字段时,如何使Doctrine 1.2运行可版本行为?

Php 当更新某些字段时,如何使Doctrine 1.2运行可版本行为?,php,doctrine,symfony-1.4,versioning,Php,Doctrine,Symfony 1.4,Versioning,我的CMS需要对每个帖子实施修订控制。通过Symfony 1.4和doctrine 1.2.4,我找到了保存Post表的历史更改的解决方案。更新Post时,请在PostVersion表中创建副本。这是伟大的修订控制,但我有一个大问题 当Post显示给前端用户时,它会更新“total_view”列,并且可版本的行为也会运行。当10000名用户阅读该帖子时会发生什么?我将在后版本表中有10.000条记录。哦,不 当更新某些字段时,如何使Doctrine 1.2运行可版本行为?可能是“标题”、“内容”

我的CMS需要对每个帖子实施修订控制。通过Symfony 1.4和doctrine 1.2.4,我找到了保存Post表的历史更改的解决方案。更新Post时,请在PostVersion表中创建副本。这是伟大的修订控制,但我有一个大问题

当Post显示给前端用户时,它会更新“total_view”列,并且可版本的行为也会运行。当10000名用户阅读该帖子时会发生什么?我将在后版本表中有10.000条记录。哦,不


当更新某些字段时,如何使Doctrine 1.2运行可版本行为?可能是“标题”、“内容”,而不是“总体视图”、“总体视图”…

排除字段
选项:

Post:
  actAs:
    Versionable:
      excludeFields: [ total_view ]

这些行缩短了PostVersion表,帮助我们排除不想记录的字段。但是调用save(),可版本化行为仍然会将一条记录记录记录到PostVersion。如此悲哀:(我认为可以设置您自己的
侦听器,您需要在其中重写
preUpdate
方法。只有在
$record
的更改字段不在
$this->\u auditLog->getOption('excludeFields')
中时,才保存
$version