Как в алфавитном порядке получить членов списка? - PullRequest
1 голос
/ 21 марта 2010

У меня есть класс организации

class Organization {
hasMany = [member:Members]
}

class Members {
belongsTo = organization
}

Я печатаю всех участников, используя

<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>

Я хочу отсортировать печать элементов так, чтобы она печаталась в алфавитном порядке. есть идеи?

1 Ответ

4 голосов
/ 21 марта 2010

Во-первых, вам нужно как-то изменить свои классы, чтобы иметь имя для членов! Итак, давайте предположим, что ваши классы:

class Organization {
hasMany = [members:Member]
}

class Member {
belongsTo = organization
String name
}

Тогда у вас есть два способа сортировки элементов в алфавитном порядке.

Первый метод : вы можете получить все элементы, а затем отсортировать их, как показано ниже:

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

Второй метод : вы извлекаете членов непосредственно из GORM в алфавитном порядке

def members = Member.findAllByOrganization(organizationInstance, [sort: "name"])
...