因为我是Grails和动态语言的新手,所以我确实有一些“希望很简单”的问题。

我安装了可正常工作的可标记插件。有一个带有标签的数组。我使用findAllByTag为每个标签收集数据集。之后,我将其随机化并选择一个条目。效果很好。现在,我决定不从数据库中获取所有对象。我只需要一个特定的条件(数据库列customerID)。看起来像这样:

def customerSet = Customer.findAllBycustomerID(params.customerID)

我使两个查询都能正常工作,但无法按我的意愿合并。我尝试了类似的东西
def hits = customerSet.findAllByTag(tag)

但是后来我得到了



我想我不能在这样的列表上执行findAllByTag。

还是我必须像这样做:
def customerSet = Customer.findAllBycustomerID(params.customerID.findAllByTag(tag)) ???

谢谢,
克拉斯

最佳答案

我不确定这是否适用于taggable,但是您可以使用具有两个属性的动态查找器,例如.findAllByCustomerIdAndTag(customerId,tag)

如果这不起作用,您可以使用一个标准,例如

Customer.createCriteria().list{
    eq('customerId',someCustomerId)
    tags{
        eq('name',someTag')
    }
}

10-08 13:23