gpt4 book ai didi

grails - GRAILS:findALL()与FindBy ---(params.id)

转载 作者:行者123 更新时间:2023-12-02 15:05:41 26 4
gpt4 key购买 nike

问候大家

我试图将参数从URL传递给findAll()方法。

LINE3 我使用findAll()定义鼠标。

LINE2 def house在进入页面时将带入参数DELAWARE:http://localhost:8080/TestApp/home/county/DELAWARE

House仅显示一个实例,而不显示列表。.是否仍然要传递URL而不是[“DELAWARE”]? (请参阅第3行)谢谢:)

 def county() {
def house = Home.findByCounty(params.id) //sends only user related address to view
def mouse = Home.findAll("from Home h where h.county= ?", ["DELAWARE"]);
if (!house) {
response.sendError(404)
} else {

[house:house, mouse:mouse ]
}
}

工作代码+1 @Danilo
 def county() {
def house = Home.findAllByCounty (params.id) //sends only county specified thru URL e.g. http://localhost:8080/TestAPP/home/county/DELAWARE
if (!house) {
response.sendError(404)
} else {
[house:house ]
}
}

最佳答案

findBy*将最多返回一行,如果要获取所有行,请使用findAllBy*
为了了解Grails如何使用URL,您必须查看conf/UrlMappings.groovy。您可能会发现以下内容:

static mappings = {
"/$controller/$action?/$id?(.$format)?"{
}
}

这意味着,当您调用 TestApp/home/county/DELAWARE时,Grails试图做的是使用home Controller ( HomeController),调用County方法( def county(){...})并将 DELAWARE作为 id传递。

如果您在 HomeController的县方法内,这应该可以正常工作:
def filteredInstances = Home.findAllByCounty(params.id)

关于grails - GRAILS:findALL()与FindBy ---(params.id),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32503371/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com