Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/google-cloud-platform/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
根据链接表中的字符串对grails列表进行排序_Grails - Fatal编程技术网

根据链接表中的字符串对grails列表进行排序

根据链接表中的字符串对grails列表进行排序,grails,Grails,我有两个域,一个存储到另一个域的链接,就像这样(我删掉了所有其他域以消除噪音):- 这用于:- class TestExecQueue { static constraints = { testscenarioid() myPriority(inList:[0,1,2,3,4], blank:false) } static mapping = { table "test_exec_queue" version false

我有两个域,一个存储到另一个域的链接,就像这样(我删掉了所有其他域以消除噪音):-

这用于:-

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
}
我的测试问卷中有一个列表,如下所示:-

 def list(Integer max) {
        params.max = 10000
        [testExecQueueInstanceList: TestExecQueue.list(params), testExecQueueInstanceTotal: TestExecQueue.count()]

    }
但我想做的是返回按testscenariodesc值排序的结果(而不是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)
我做错了什么?谢谢你的建议!:)

list()方法接受
sort
order
参数。详细信息,请参阅。比如说

def results = myDomain.list([max: 10, sort: 'myColumn', order: 'asc'])
或者,您可以在域上指定默认排序顺序。例如:

class MyClass {
  String myColumn
  static mapping = {
    sort 'myColumn'
  }
}

已尝试排序,但似乎不起作用,已使用代码示例进行更新在代码中,您需要添加到params映射,而不是将另一个参数传递给list方法。e、 g.在调用list()之前,使用params.sort='testscenarioid'您的意思是只使用
params.max=10000 params.sort='testscenarioid'[testexecqueinstancelist:TestExecQueue.list(params),testexecqueinstancetotal:TestExecQueue.count()]
这似乎没有任何作用(它将根据数字ID值或它链接并返回的等效字符串值进行排序?)
class MyClass {
  String myColumn
  static mapping = {
    sort 'myColumn'
  }
}