因为我是Grails和动态语言的新手,所以我确实有一些“希望简单”的问题。
我安装了taggable插件,工作正常。有一个带有标签的阵列。我使用findAllByTag为每个标签收集数据集。之后,我随机选择并选择一个条目。效果很好。现在我决定不从DB中获取所有对象。我只需要一个特定的creteria(DB列customerID)。这看起来像这样:
def customerSet = Customer.findAllBycustomerID(params.customerID)
我有两个查询工作,但无法按我的意愿组合。我试过像
这样的东西def hits = customerSet.findAllByTag(tag)
但后来我得到了
groovy.lang.MissingMethodException:没有方法签名:java.util.ArrayList.findAllByTag()适用于参数类型:(java.lang.String)values:[mac]
我想我不能在这样的列表上做一个findAllByTag。
或者我必须这样做:
def customerSet = Customer.findAllBycustomerID(params.customerID.findAllByTag(tag)) ???
感谢, 克拉斯
答案 0 :(得分:1)
我不确定这是否适用于taggable,但您可以使用具有两个属性的动态查找程序,例如.findAllByCustomerIdAndTag(客户ID,标签)
如果这不起作用,您可以使用标准,例如
Customer.createCriteria().list{
eq('customerId',someCustomerId)
tags{
eq('name',someTag')
}
}