Je cherche un moyen d'utiliser Doctrine
dans Symfony 2
pour rechercher des éléments à l'aide d'un tableau ordonné d'ID.
J'ai une entité Carte avec id (clé primaire) et titre.
J'ai une entité ListCards avec id (clé primaire) et un listCards (un tableau d'identifiants codés: ["16", "2", "84"]
)
Je récupère d'abord la liste, puis je dois trouver des cartes avec ces identifiants dans cet ordre.
J'essaie quelque chose comme:
$idsArray = ["16", "2", "84"];
$cardRepository->findby($idsArray);
maisDoctrine
récupérer mes cartes dans l'ordre ASC
.
ORDER BY FIEDS
La méthode sql ne semble pas être supportée par la doctrine.
Existe-t-il une solution simple pour ce type de tri?
Merci (et désolé pour mon mauvais anglais).
Vous pouvez l'utiliser comme:
$cardRepository->findBy( array('id' => $idsArray), array('id' => 'DESC') );
Vérifiez également la documentation officielle doctrine pour plus de détails sur l'utilisation de l'ordre, de la limite et du décalage comme deuxième à quatrième paramètres dans la méthode findBy
.
Vous pouvez créer une table d'aide, dans laquelle vous stockez les éléments de groupe ordonnés, avec les données suivantes: (group_id, card_id, order)
Vous recherchez par group
_ id, triez par order
et lisez le card_id
.