我有两个域,一个存储了另一个域的链接,就像这样(我已经删除了所有其他字段以消除噪音): -
class TestScenario {
static constraints = {
testscenariodesc(blank:false, maxSize:100, unique: true)
}
static mapping = {
table "test_scenario"
version false
columns{
id column:"test_scenario_id"
}
}
String testscenariodesc
String toString(){
"${testscenariodesc}"
}
}
用于: -
class TestExecQueue {
static constraints = {
testscenarioid()
myPriority(inList:[0,1,2,3,4], blank:false)
}
static mapping = {
table "test_exec_queue"
version false
columns{
id column:"test_exec_queue_id"
testscenarioid column:"test_scenario_id"
myPriority column:"Priority"
}
}
TestScenario testscenarioid
Integer myPriority
}
我的testexecqueue中有一个列表如下: -
def list(Integer max) {
params.max = 10000
[testExecQueueInstanceList: TestExecQueue.list(params), testExecQueueInstanceTotal: TestExecQueue.count()]
}
但我想要做的是返回testcenariodesc值排序的结果(不是testscenarioID的数值。这可能吗?
我试过了: -
[testExecQueueInstanceList: TestExecQueue.list(params, sort: "testscenarioid", order: "desc"), testExecQueueInstanceTotal: TestExecQueue.count()]
但是当我转到页面时,我收到以下错误:
No signature of method: testautomation.TestExecQueue.list() is applicable for argument types: (java.util.LinkedHashMap, org.codehaus.groovy.grails.web.servlet.mvc.GrailsParameterMap) values: [[sort:testscenarioid, order:desc], [action:list, ...]] Possible solutions: list(), last(), list(java.util.Map), first(), last(java.lang.String), last(java.util.Map)
我在这里做错了什么?谢谢你的任何建议! :)
答案 0 :(得分:0)
list()方法接受sort
和order
参数。有关详细信息,请查看documentation。例如
def results = myDomain.list([max: 10, sort: 'myColumn', order: 'asc'])
或者,您可以在域上指定默认排序顺序。例如:
class MyClass {
String myColumn
static mapping = {
sort 'myColumn'
}
}