我正在向Grails環境介紹自己(它是真棒)。我一直在收穫動態生成方法的好處,如findAllBy*
範圍。但是,我遇到了一個問題,我不確定如何繼續。在Google上花費的一小時對我來說也沒有那麼多。查找列表中包含值的所有對象
問題
我有一類這樣的:
class Runner {
static hasMany = [owners: Owner]
}
而在我的所有者控制器,我希望能夠找到所有Runner
對象,包含給定Owner
。實際上,我試圖從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]
}
[Grails:我如何通過hasMany關係中的孩子搜索?](http:// stackoverflow。com/questions/2437446/grails-how-can-i-search-through-children-in-a-hasmany-relationship) –
你有什麼問題與'inList'有關?應該爲這種情況工作 –
'inList',根據文檔是另一種方式。因爲當我傳入'List'時,如果類中的元素在List中,則返回它。 – christopher