0

我有更新入口版本的PreUpdate偵聽器。我有自己的版本控制系統(只是一個整數字段,其版本號在實體更改時增加到最高+ 1)。更新實體隨DoctrineExtensions更改可排序

所以,如果我改變某些東西,版本會增加。我也使用DoctrineExtensions Sortable。問題是我應該將版本更改爲位置發生更改的所有實體。

例如,如果我將實體位置更改爲4,我給這個實體一個新版本(比如說22)。並且隨着這五個其他實體的位置正在改變(例如)。因此,對於這五個實體,我應該將版本更改爲22.任何想法如何實現這個沒有由PreUpdate事件造成的無限循環?

回答

0

如果您正在使用\ KNP \ DoctrineBehaviors你應該利用KNP的庫性狀的回購類中:

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

然後你可以/()在你的updateAction利用reorderEntity的() ,createAaction()

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