データをレイヤ3リレーションシップでソートしようとしていますが、動作させることができません。私は正常に別名を使用してレベル2の関係を照会しました。これは私のクエリの設定方法ですGrails:複数のネストされたリレーションシップの分離基準
def query = Application.where {}
query.createAlias("applicationDegrees", "appDegrees");
query.createAlias("applicationDegrees.degree", "degree");
query.createAlias("applicationDegrees.applicationDegreeMajors", "appMajors");
query.createAlias("applicationDegrees.applicationDegreeMajors.major", "major");
return query.list([sort: "degree.code", order: "desc"]); //WORKS
return query.list([sort: "major.code", order: "desc"]); //DOES NOT WORK
私の上記のコードからわかるように、私はappDegreesとdegreeでソートできます。私はそれをさらに進歩させ、appMajorsまたはappDegreesの関係であるメジャーに基づいてソートしようとすると、適切にソートされません。ソートはまったく適用されませんが、エラーメッセージもスローされません。
これは私が主で並べ替えることができますように、どのように私は私のエイリアスを作成するのですか?
class Application {
Set<ApplicationDegree> applicationDegrees = []
static hasMany = [applicationDegrees: ApplicationDegree]
}
class ApplicationDegree {
Application app
Degree degree
Set applicationDegreeMajors = []
static hasMany = [applicationDegreeMajors: ApplicationDegreeMajor]
static belongsTo = [Application, Degree]
}
class ApplicationDegreeMajor {
ApplicationDegree applicationDegree
Major major
static belongsTo = [ApplicationDegree, Major]
}
私のデータモデルですか
のGrails 3.1.4
は、エラーがスローされます 'java.lang.IllegalArgumentExceptionが:引数には、[appMajors.major] association' –
さて、私は答えを編集したいません提供する上記のリンクから得られた情報ごとのより広い例を編集しました。確認してください。 –