【问题标题】:How can I perform an SQl where query then list properly?如何执行 SQl where 查询然后正确列出?
【发布时间】:2014-11-25 17:40:41
【问题描述】:

我正在尝试执行以下操作:

def query = Scholarship.withCriteria {
  eq('activeInd', "A")
}
allInfo = query.list(sort: "name", order: "asc")

return allInfo
}

我以前用过这个,但现在我需要把它改成上面的样子:

def allInfo = Scholarship.list(sort: "name", order: "asc")

我需要获取所有具有 activeInd 字段 = A 的奖学金对象。然后我需要在它们上使用 .list 以根据名称升序获取列表/数组中的所有奖学金。我遇到的错误如下:

方法没有签名:java.util.ArrayList.list() 适用于参数类型:() 值:[] 可能的解决方案:last(), last(), first(), first(), is( java.lang.Object), toList()

【问题讨论】:

    标签: sql grails groovy where


    【解决方案1】:

    因为您在withCriteria 的结果上使用了list()。这可以通过以下三种方式之一解决:

    def result = Scholarship.createCriteria().list(sort: 'name', order: 'asc') {
        eq('activeInd', "A")
    
        //alternatively
        //order('name', 'asc')
    }
    

    def result = Scholarship.withCriteria {
        eq('activeInd', "A")
        order('name', 'asc')
    }
    

    def result = Scholarship.where {
        activeInd == 'A'
    }.list(sort: 'name', order: 'asc')
    

    我更喜欢使用 where 的第三种方法。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-08-21
      • 2019-05-10
      • 2015-04-17
      • 1970-01-01
      • 2020-01-22
      • 2014-01-29
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多