【问题标题】:Grails: How to combine findAllBy and findAllByTagGrails:如何结合 findAllBy 和 findAllByTag
【发布时间】:2009-11-12 17:25:49
【问题描述】:

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

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

def customerSet = Customer.findAllBycustomerID(params.customerID)

我让两个查询都能正常工作,但无法按我的意愿组合。我尝试了类似

def hits = customerSet.findAllByTag(tag)

然后我得到一个

groovy.lang.MissingMethodException:没有方法签名:java.util.ArrayList.findAllByTag() 适用于参数类型:(java.lang.String) 值:[mac]

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

或者我必须以某种方式这样做:

def customerSet = Customer.findAllBycustomerID(params.customerID.findAllByTag(tag)) ???

谢谢, 克拉斯

【问题讨论】:

    标签: grails tags findall


    【解决方案1】:

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

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-03-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-08-24
      • 1970-01-01
      相关资源
      最近更新 更多