Предположим, что у меня есть два объекта домена, документа и авторGrails sortableColumn с несколькими полями
Class Document {
Author author
String title
}
Class Author {
String lastName
String firstName
String toString() {
return lastName + ", " + firstName
}
}
Вид list.gsp выглядит примерно так:
<g:sortableColumn property="title" title=... />
<g:sortableCOlumn property="author" title=... />
....
<td>${fieldValue(bean: documentInstance, field: "author"}></td>
<td>${fieldValue(bean: documentInstance, field: "title"}></td>
Отображаемые значения в таблице работы как предназначено - строка таблицы покажет автору как (lastName, firstName) рядом с documentInstance.title.
Однако, щелкнув заголовок столбца Author для сортировки, необходимо отсортировать «документы» с помощью author.id.
Каков наиболее целесообразный способ сортировки по author.toString() или "author.lastName, author.firstName" вместо сортировки author.id?
Я бы предпочел не возвращаться к .withCriteria {}, если возможно - у меня есть четыре разных столбца, которым нужна эта функциональность, и похоже, что это будет беспорядочно.
Я закончил использовать withCriteria ... Я собираюсь отметить это как ответ, поскольку похоже на самое чистое решение вопроса «как задано». Благодаря! – MT1