Сортировка результатов запроса по родительскому свойству в граалях - PullRequest
1 голос
/ 29 августа 2010

Возможно ли в grails сортировать результаты запроса по свойству родительского класса в отношении.Например, у меня есть класс домена пользователя, который имеет отношение один ко многим со списком задач.

При отображении страницы списка класса домена задач я хочу иметь возможность сортировать список задач поимя пользователя.

class User {
    String name
    String login
    String group
    List tasks = new ArrayList()
    static hasMany = [tasks:Task]
}

class Task {
    String summary
    String details
    User user
    static belongsTo = [user:User]
}

Я могу сделать что-то вроде этого

Task.list([sort:"user", order:"asc"])

Но это сортировка по user.id, есть способ указать сортировку, чтобы быть на пользователя.name?

Ответы [ 2 ]

5 голосов
/ 30 августа 2010

Вы можете сделать это, используя Критерии

def criteria = Task.createCriteria()
def taskList = criteria.list {
    createAlias("user","_user")
    order( "_user.name")
}
0 голосов
/ 30 августа 2010

iirc, grails сортирует с помощью toString (), и поскольку вы не указали его, он использует идентификатор.

...