La définition par défaut de l'ordre de tri dans Graal/GORM
Disons que j'ai défini un objet Utilisateur à l'aide de GORM. Chaque utilisateur peut avoir zéro, un ou plusieurs de Connexion:s. Chaque Connexion a un timestamp. Lors de la récupération de l'utilisateur.connexions je veux que les connexions à être triées en fonction de la valeur de login.date. Est-ce le bon Grain moyen pour y parvenir?
Exemple: je veux le code suivant à la liste de tous les utilisateurs de connexions dans l'ordre croissant.
<g:each var="login" in="${user.logins}">
<tr>
<td>${login.date}</td>
</tr>
</g:each>
Ce sont référencés classes:
class User {
...
def hasMany = [logins: Login]
static fetchMode = [logins: "eager"]
}
class Login {
Date date
...
def belongsTo = [User]
}
Je suis en cours d'exécution Graal la 1.0.4, ce qui est la dernière version stable.
OriginalL'auteur knorv | 2009-02-06
Vous devez vous connecter pour publier un commentaire.
Ils montrent comment le faire sur le GORM page dans le guide de référence (section 5). Le morceau que vous voulez est près du bas de ce document est la section que vous souhaitez. Ils ont deux exemples simples:
Ils ont aussi un exemple de tri sur une association:
flights sort:'number', order: 'desc'
(par grails.1312388.n4.nabble.com/...)Comment puis-je trier plusieurs attributs?
Peut-être un peu en retard, mais ici, vous allez:
static mapping = { sort([column1: 'asc', column2: 'asc']) }
OriginalL'auteur
Il suffit de faire le Login Classe implémente l'interface Comparable:
et de déclarer la relation à un SortedSet:
OriginalL'auteur Siegfried Puchbauer
La manipulation de l'ordre de tri par défaut dans Graal/GORM semble avoir été radicalement simplifiée Graal 1.1:
OriginalL'auteur knorv