Mysql 在grails中使用foreignkey列出数据库中的值
我正在使用Grails3.1.10、spring安全服务和mysql。我有桌子:商店和产品。所以我的桌子上有很多商品。产品标识在车间表中为fk。在展会/索引页面列出所有店铺。当单击“店铺名称”时,它会指示您显示店铺属性的店铺/show/id。(我做了这个发送商店id到url)我想做的是显示所有属于这个商店的产品。 我在shopController中写入此方法Mysql 在grails中使用foreignkey列出数据库中的值,mysql,grails,spring-security,Mysql,Grails,Spring Security,我正在使用Grails3.1.10、spring安全服务和mysql。我有桌子:商店和产品。所以我的桌子上有很多商品。产品标识在车间表中为fk。在展会/索引页面列出所有店铺。当单击“店铺名称”时,它会指示您显示店铺属性的店铺/show/id。(我做了这个发送商店id到url)我想做的是显示所有属于这个商店的产品。 我在shopController中写入此方法 def list = { params.max = Math.min(params.max? params.int('max') : 20
def list = {
params.max = Math.min(params.max? params.int('max') : 20, 100)
Product product = Product.get(params.id)
List districts = Shop.findAllByProduct(product)
[productList : districts,
producttInstanceTotal: Product.count()]}
在我的商店/展会上,gsp是
<g:each in="${productList}" status="i" var="p" >
<div class="col-lg-2 col-md-4 col-xs-6 thumb">
<a class="thumbnail" href="#">
<img class="img-rounded" src="http://placehold.it/400x300" alt="">
</a>
<div class='text-center'>
<p><g:link controller="product" action="show" params="[id:p.id]">
${fieldValue(bean: p, field: "productName")}
</g:link></p>
<p>${fieldValue(bean: p, field: "productName")}</p>
<p>${fieldValue(bean: p, field: "productBarcode")}</p>
</div>
</div>
</g:each>
${fieldValue(bean:p,字段:“productName”)}
${fieldValue(bean:p,字段:“productName”)}
${fieldValue(bean:p,字段:“productBarcode”)}
但什么也没显示出来。顺便说一下,我使用generate all创建所有控制器和视图。谢谢你的帮助
我想做的是展示这家商店的所有产品
在这种情况下,您应该将shop ID作为参数传递给并列出属于它的所有产品。上面发布的代码传递产品ID并列出所有销售该产品的商店
def list() {
Shop shop = Shop.get(params.id)
List products = Product.findAllByShop(shop)
[productList : products]
}
请注意,操作应该声明为方法def list(){}
而不是闭包def list={}
我想做的是展示这家商店的所有产品
在这种情况下,您应该将shop ID作为参数传递给并列出属于它的所有产品。上面发布的代码传递产品ID并列出所有销售该产品的商店
def list() {
Shop shop = Shop.get(params.id)
List products = Product.findAllByShop(shop)
[productList : products]
}
请注意,操作应该声明为方法
def list(){}
而不是闭包def list={}
您有def list={您应该将其更改为def list(){它不呈现任何内容,而是将参数输出回它希望为控制器名称存在的list.gsp上。然后,您可以参考myshop/show.gsp-show.gsp将绑定到def show(){}而不是def list-查找list.gsp的内容以进行调试-也可以在控制器中添加println“-产品是$product”println“districts is$districts”在每个元素下,以查看您是否正在点击它您有def list={您应该将其更改为def list(){它不呈现任何内容,而是将参数输出回它希望为控制器名称存在的list.gsp上。然后,您可以参考myshop/show.gsp-show.gsp将绑定到def show(){}而不是def list-查找list.gsp的内容以进行调试-也可以在控制器中添加println“-产品是$product”每个元素下的println“districts is$districts”可以查看您是否正在点击它