gpt4 book ai didi

带参数的 grails 域类 .list() 方法

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

我有两个与一对多关系相关的域 - 一个用户可能有很多关联。我想查看属于该用户的所有关联。我正在使用脚手架插件。因此,应该在 AssociationController 中返回关联列表的代码看起来像这样:

def index(Integer max) {
respond Association.list(params), model:[associationInstanceCount: Association.count()]
}

在用户 View 页面上,我有以下代码:
<g:form controller="Association" >
<fieldset class="buttons">
<g:hiddenField name="user.id" id="user.id" value="${userInstance.id}"/>
<g:actionSubmit class="list" action="index" value="${message(code: 'default.list.label', default: 'Show Associations')}"/>
</fieldset>
</g:form>

当我按下这个 Action 提交 user.id随请求一起发送,它在 params 映射中(我用调试检查过)但出于某种原因 Association.list(params)尽管我在参数中使用了这个 user.id,但返回所有关联(对于所有用户)。 A 也试过重命名 user.id只需 user它也没有工作。似乎这个 .list() 应该只用于排序或者我做错了什么。你能帮我解决这个问题吗?谢谢!

最佳答案

澄清给定的答案:list( params )返回域对象的所有结果,并且只接受排序(排序依据)和视口(viewport)(限制/偏移)参数。它不提供任何 where子句(好吧,除了 discriminator -column)

更新:

您可以使用 findAllBy* :

Association.findAllByUserId( params.long( 'user.id' ), params )

criteria如果您需要使查询更复杂:
Association.withCriteria{
eq 'id', params.long( 'user.id' )
maxResults params.int( 'max' ) ?: 10
firstResult params.int( 'offset' ) ?: 0
if( params.sort && params.order ) order params.sort, params.order
}

关于带参数的 grails 域类 .list() 方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25425887/

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