grails - 我该如何解决这个分离标准问题?

标签 grails gorm

我有这个枚举:

enum CompanyType {
    RESTAURANT('R'),
    BAR('B'),
    NIGHT_CLUB('N')

    final String id

    CompanyType(String id) {
        this.id = id
    }

    public Boolean isRestaurant() {
        this == RESTAURANT
    }

    public Boolean isBar() {
        this == BAR
    }

    public Boolean isNightClub() {
        this == NIGHT_CLUB
    }
}

我有一个像这样的域名:
class Company {
    String name
    String description
    CompanyType companyType
}

在我的 Controller 上,当我尝试按CompanyType列出筛选时,我这样做:
companyList = Company.findAll(params,{companyType.id == selectedCompanyType.id})

我收到此错误消息:
Class
groovy.lang.MissingMethodException
Message
No signature of method: grails.gorm.DetachedCriteria.companyType() is applicable for argument types: (com.memobile.where2go.CompanyController$_tt__index_closure9_closure15) values: [com.memobile.where2go.CompanyController$_tt__index_closure9_closure15@483c17c1]

如果我只把companyType == selectedCompanyType放到一个空列表...

最佳答案

我将使用“where”查询:

def companyList = Company.where {
    companyType == selectedCompanyType
}.list(params)

关于grails - 我该如何解决这个分离标准问题?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29617803/

相关文章:

grails - Grails控件联接表

sql - 哪种是在Grails中查询数据库的有效方法? SQL,HQL或GORM?

grails - Grails访问关系表

spring - Quartz 作业中的 Grails 事务

eclipse - Eclipse STS Grails路径问题

grails - grail的<g:layoutBody/>标签如何工作?

unit-testing - Grails测试中的模拟配置

hibernate - Grails:Author.withTransaction {}和Book.withTransaction {}之间的区别(如果Author和Book均应保存在该事务中)

grails - 如何在不包含空格的情况下存储文本字段

grails - 使用GORM设置域类属性值