Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/templates/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
GRAILS:findALL()vs FindBy---(params.id)_Grails - Fatal编程技术网

GRAILS:findALL()vs FindBy---(params.id)

GRAILS:findALL()vs FindBy---(params.id),grails,Grails,大家好, 我正在尝试将参数从URL传递到findAll()方法 LINE3我使用findAll()定义鼠标 LINE2def house将在我进入页面时引入参数特拉华: House将只显示一个实例,而不是列表。。是否有任何方法可以传递url而不是[“特拉华”]?(请参见第3行)谢谢:) 工作代码+1@Danilo def county() { def house = Home.findAllByCounty (params.id) //sends only coun

大家好,

我正在尝试将参数从URL传递到findAll()方法

LINE3我使用findAll()定义鼠标

LINE2def house将在我进入页面时引入参数特拉华:

House将只显示一个实例,而不是列表。。是否有任何方法可以传递url而不是[“特拉华”]?(请参见第3行)谢谢:)

工作代码+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/country/DELAWARE
时,Grails试图做的是使用home控制器(
HomeController
),调用country方法(
def country(){…}
)并将
DELAWARE
作为
id
传递

HomeController
的县内方法具有以下条件,则该方法应能正常工作:

def filteredInstances = Home.findAllByCounty(params.id)

我不明白你想要什么。诚实的FindallbyCounty(params.id)做到了,谢谢+1.
def filteredInstances = Home.findAllByCounty(params.id)