9
votes

Attribut de tri par défaut pour le modèle de doctrine

Je me demandais s'il y a un moyen de déclarer l'ordre par défaut pour mes modèles de doctrine.

E.g.

J'ai un modèle et il a photos . Lorsque je charge un travail, toutes les photos qui y sont associées sont chargées dans $ work-> photos . Lorsque je les affiche, ils sont commandés par leurs identifiants.

Il serait très pratique de déclarer une commande par défaut sur un autre champ ou de remplacer peut-être le comportement de récupération Altoghether.

Je préférerais ne pas convertir les photos en une matrice et utilisez Usort. Merci.


0 commentaires

3 Réponses :


0
votes

Je ne connais pas la première chose à propos de la doctrine, mais on dirait que vous pouvez spécifier une commande par clause lorsque vous appelez Créer ().

http: //www.doctrine-project.org/documentation/manual/1_0/fr/DQL-Doctrine-Query-LanguageHorder-By-Clause


0 commentaires

4
votes

OK, je me suis arrêté, merci à ce post: http://www.litttlehart.net/atthekeyboard/2010/02/04/sorting-relationhip-results-in-doctrine-1-2-2/

Dans mon cas, le fichier de basework.php avait ces modifications: xxx

de toute façon, il serait préférable de préciser cela dans schéma.yml, que je ne pouvais pas faire de travail .


0 commentaires

10
votes

Vous pouvez le spécifier dans le YAML comme suit:

Si c'est un ordre de tri d'un champ dans la table elle-même, ajoutez: xxx

Options : est à la même profondeur que vous auriez un colonnes: ou relations: entrée. NB: La capitalisation de ordonnance: est vitale; Faites-le mal et vous n'obtiendrez aucune erreur, mais aussi pas de tri.

S'il s'agit d'un ordre de tri d'une relation, dans la relation, vous pouvez sauvegarder les options et Il suffit de mettre: xxx


4 commentaires

Ou par @orderby Annotation: doctrine-project.org/docs/orm/22.0/fr/reference/...


Dans quel fichier yml fais-tu cela?


Ça dépend. Dans Doctrine1, la réponse est valide (et il s'agit du fichier de schéma YAML), mais dans la doctrine2, il est tout simplement impossible de faire. En contexte de contournement, voir le commentaire de @ Alex.


@Orderby Annotation est uniquement applicable aux relations. Cela ne fonctionne pas sur les entités de niveau supérieur. "Vous ne pouvez utiliser cette annotation que sur ces éléments de code: Propriété" En outre, cette réponse ne fournit aucun moyen de définir la direction de la commande.