【发布时间】:2014-02-25 09:02:31
【问题描述】:
我正在向自己介绍 Grails 环境(它真棒)。我一直受益于动态生成的方法,如findAllBy* 范围。但是,我遇到了一个问题,我不确定如何进行。在 Google 上花一个小时对我来说也没有什么收获。
问题
我有一个类似如下的课程:
class Runner {
static hasMany = [owners: Owner]
}
在我的 Owner 控制器中,我希望找到所有包含给定 Owner 的 Runner 对象。实际上,我正在尝试从many 转到one。
示例
如果我有一个 Owner 对象,它看起来像
Owner[name="Dave"]
我有一个Runner,类似:
Runner[owners[Owner[name="Dave"], Owner[name="James"]]]
我的查询应该返回这个 Runner 对象,但它不应该返回
Runner[owners[Owner[name="Bill"], Owner[name="James"]]]
我的尝试
我曾尝试使用inList 扩展名,但经过进一步研究后,我意识到这是为相反的方式设计的。我目前的代码如下:
def runners() {
log.info("Runners")
List<Runner> runners;
Owner owner;
if (params.id) {
log.info("Id = " + params.id);
owner = Owner.get(params.id);
log.info("owner = " + owner.name);
// Grab runners in list thing.
log.info("Number of results = " + runners.size());
}
[results: results, jockeyInstance: jockey]
}
【问题讨论】:
-
inList有什么问题?应该适用于这种情况 -
inList,根据文档是相反的。因为当我传入List时,如果类中的元素在List内,则返回它。 -
@christopher 哦,我明白了
标签: grails grails-orm