使用命名查询

时间:2012-02-28 22:56:58

标签: grails

我在域类中有一个命名查询:

class Store {
    static namedQueries {
        openOnWeekends {
            // some conditions here...
        }
    }
}

我知道我可以做Store.openOnWeekends.list(),但我想做这样的事情:

def pickupWeekendStores = Order.get(params.id).books.store.openOnWeekends

有没有办法使用这样的命名查询?有关如何在周末营业的建议吗?

编辑:

Order hasMany Book, Book hasMany Store

2 个答案:

答案 0 :(得分:1)

命名查询在调用时支持其他条件,因此您可以尝试:

Store.openOnWeekends {
    books {
        'in'('id', Order.get(params.id).books.collect { it.id })
    }
}

答案 1 :(得分:0)

做类似的事情:

Set<Store> pickupWeekendStores = Order.get(params.id).books*.store.collect { it.openOnWeekends.list() }

工作?