Pergunta

Eu tenho uma aula de organização

class Organization {
hasMany = [member:Members]
}

class Members {
belongsTo = organization
}

Estou imprimindo todos os membros usando

<ol>
<g:each in="${organizationInstance?.members?}" var="m">
    <li><g:link controller="members" action="show" id="${m.id}">${m?.encodeAsHTML()}</g:link></li>
</g:each>
</ol>

Quero classificar a impressão dos membros para que ele imprimisse em ordem alfabética. alguma ideia?

Foi útil?

Solução

Primeiro, você precisa mudar de alguma forma suas aulas para ter um nome para os membros! Então, vamos supor que suas aulas são:

class Organization {
hasMany = [members:Member]
}

class Member {
belongsTo = organization
String name
}

Então você tem duas maneiras de classificar os membros em ordem alfabética.

Primeiro método : Você pode recuperar todos os membros e classificá -los como mostrado abaixo:

<g:each in="${organizationInstance?.members?.sort {it.name} }" var="m">

Segundo método : Você recupera os membros diretamente do Gorm em ordem alfabética

def members = Member.findAllByOrganization(organizationInstance, [sort: "name"])
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top