1

組織クラスがあります

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>

メンバーの印刷をアルファベット順に印刷するように並べ替えたいと思います。何か案は?

4

1 に答える 1

4

まず、メンバーの名前を付けるために、クラスをなんらかの方法で変更する必要があります。したがって、クラスが次のようになっていると仮定しましょう。

class Organization {
hasMany = [members:Member]
}

class Member {
belongsTo = organization
String name
}

次に、メンバーをアルファベット順に並べ替える2つの方法があります。

最初の方法:すべてのメンバーを取得してから、以下に示すように並べ替えることができます。

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

2番目の方法:アルファベット順にGORMから直接メンバーを取得します

def members = Member.findAllByOrganization(organizationInstance, [sort: "name"])
于 2010-03-21T16:59:51.680 に答える