使用DoctrineExtensions Sortable更改实体已更改

时间:2015-09-28 20:27:06

标签: symfony doctrine doctrine-extensions stofdoctrineextensions

我有一个PreUpdate侦听器,我在其中更改了条目版本。我有自己的版本控制系统(只是一个整数字段,版本号在实体更改时增加到最高+ 1)。

因此,如果我改变某事,版本就会增加。我也使用DoctrineExtensions Sortable。问题是我应该将版本更改为位置发生变化的所有实体。

例如,如果我将实体位置更改为4,我会为此实体提供一个新版本(假设为22)。而且其他五个实体的位置也在变化(例如)。那么对于那五个实体,我应该将版本更改为22.任何想法如何在没有PreUpdate事件的无限循环的情况下实现这一点?

1 个答案:

答案 0 :(得分:0)

如果您正在使用\ Knp \ DoctrineBehaviors,您可能应该在repo类中使用Knp的存储库特性:

use \Knp\DoctrineBehaviors\ORM\Sortable\SortableRepository; 

然后你可以在updateAction(),createAaction()

中使用reorderEntity /()
 //reorder..
 $em->getRepository('Bundle:Class')->reorderEntity($entity);