【问题标题】:Criteria in grailsgrails 中的标准
【发布时间】:2016-10-10 09:54:42
【问题描述】:

您能告诉我这里的标准有什么问题吗?

    def users
    def u = User.createCriteria()
    users = u.list (max: max, offset: offset) {

        eq("account",account)

        and {

            if(teacherName != null && teacherName != ""){
                like("userName", "%"+teacherName+"%")

            }

            if(mobileNumber != null && mobileNumber != ""){
                like("mobileNumber", "%"+mobileNumber+"%")

            }

            eq("status", Status.ACTIVE)
            eq("userType","Account Teacher") 
        }


    }
    return users
}

列表为什么返回空?

【问题讨论】:

  • 你应该描述你的数据模型和你想得到什么。
  • 没有看到User域类很难说是什么问题

标签: grails criteria


【解决方案1】:

您发布的代码过于冗长。一个等效的实现是:

def users = User.withCriteria(max: max, offset: offset) {

    eq("account", account)

    if (teacherName) {
        like("userName", "%${teacherName}%")
    }

    if (mobileNumber) {
        like("mobileNumber", "%${mobileNumber}%")
    }

    eq("status", Status.ACTIVE)
    eq("userType", "Account Teacher") 
}

我不能说为什么这不起作用,因为我不知道User 域类是什么样子或查询应该表现出什么行为,但它应该更容易调试更简洁实施。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-01-22
    • 1970-01-01
    • 2011-12-08
    • 1970-01-01
    • 2012-06-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多