gpt4 book ai didi

Grails - 按非本地类型查找

转载 作者:行者123 更新时间:2023-12-02 05:42:06 25 4
gpt4 key购买 nike

我对 grails 还很陌生(第 2 天)。

首先,我发现很难找到易于浏览的资源(文档非常原始,教程分散且仅显示“hello world”类型的示例)。

我已经设置了与其他数据类型的关系的域类。

class ShopCategoryPage{
//some stuff
ProductProcedure procedure;
ProductCategory category;
//some stuff
}

在我的 Controller 中,我获取类别 id 和过程 id 作为参数,并且我尝试获取与这些参数关联的 ShopCategoryPage。

我如何“找到”他们?我尝试将 ids 作为 procedureId 或 procedure_id 传递,我尝试传递由 findById 生成的 ProductProcedure 对象...

我不知道如何通过非 native 类型的属性进行查找。

最佳答案

First, I find it hard to find easily browsable resources (the documentation is very raw, and the tutorials are spread out and only show 'hello world' types of examples ).

在我看来,该文档很棒,也许我们正在使用不同的文档。我使用:

如果这仍然不能令人满意,我强烈推荐《Grails 权威指南》一书。我相信《Grails in Action》也很不错,但还没读过。对于学习 Groovy,《Programming Groovy》是一本很棒的书(尽管有点过时)。

In my controller, I am getting a category id and a procedure id as parameters, and I am trying to get the ShopCategoryPage associated with those parameters.

最简单的方法(尽管不是最有效)是使用动态查找器。

// First of all load the ProductProcedure and ProductCategory 
// I'm assuming here the request params are named 'procedureId' and 'categoryId'
ProductProcedure productProcedure = ProductProcedure.get(params.procedureId.toLong())
ProductCategory productCategory = ProductCategory .get(params.categoryId.toLong())

// Now get the ShopCategoryPage associated with these. Replace 'find' with 'findAll'
// if there could be multiple associated ShopCategoryPages
ShopCategoryPage shopCategoryPage = ShopCategoryPage.findByProcedureAndCategory(productProcedure, productCategory)

这种方法的一个缺点是它会导致执行 3 个 SELECT 语句。如果您只对最后一个查询返回的 shopCategoryPage 感兴趣,则可以使用 HQL 或条件查询“一次”加载它。

关于Grails - 按非本地类型查找,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2096891/

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