我只是想知道可以在Grails中的单个执行查询中转换这行代码。
String answer = StudentAnswerData.findWhere(student: studentObject, exam: examObject)?.answer
answer.replaceAll('0','')?.size()
特定 StudentAnswerData 的代码查询会计算其答案的字符 0 ,其中 answer 是由数字组成的字符串字符(例如 2435000025442032030000 )。
提前致谢。
答案 0 :(得分:0)
您可以使用派生属性
执行此操作http://grails.org/doc/2.3.x/guide/GORM.html#derivedProperties
class StudentAnswerData {
Integer answerLength
String answer
static mapping = {
answerLength formula: "length(replace(answer, '0', ''))" //oracle specific syntax
}
}
然后你可以使用answerLength作为常规属性