Bonjour,
J'ai en une entité article qui possede un champs position , qui definit l'ordre d'affichage des articles
j'ai une liste drag and drop qui permet de changer la position d'un article et qui envoit la nouvelle position de l'article à un controlleur , jusque à la tout vas bien
j'ai maintenant mon controlleur qui update la position de l'article
maintenant , j'ai besoin de pouvoir mettre à jours la position des autres articles
et la je ne vois pas bien ou le gerer et comment
Globalement en php cela serait
```
if ($old_position < $new_position)
{
$sql = "UPDATE article SET position = position+1 WHERE position >= :new_position AND position < :old_position ";
}else{
$sq = "UPDATE article SET position = position-1 WHERE position <= :new_position AND position > :old_position ";
}
```
Je vois bien une aproche avec le repo ou je ferais un findBy pour recuperer tout mes object en fonction des cas et je ferais un
setposition(getPosition() +1 ou -1)
mais je trouve cela pas du tout performant
n'y a t'il pas une meillleur approche pour le faire en lots ?
Ou mettriez vous cette operation (repo, entity, controlleur, event, ...) ?
Cordialement
Partager