mysql - 如何使用 Adonisjs 在列表中的表单列表中显示数据
问题描述
我有一个只有一个列表的数据,我想在列表中显示此数据,如列表,
这是我的查询以及我如何返回它:
const cart = await DB
.select('carts.id_cart','carts.id_product','product.shop_id','product.product_name','product.price',
'shop.shop_name','shop.address', DB.raw('count(carts.id_product) as quantity'))
.from('carts')
.leftJoin('product', 'carts.id_product', 'product.product_id')
.leftJoin('shop', 'shop.id_shop', 'product.shop_id')
.groupBy('carts.id_product')
.where({'product.is_deleted':'0'})
return response.json({
status:true,
message: false,
data: cart
})
这段代码的结果是这样的:
{
"status": true,
"message": false,
"data": [
{
"id_cart": "1",
"id_product": "1",
"shop_id": "1",
"product_name": "test1",
"price": 11111,
"shop_name": "John Doe",
"address": "Quis et eu cumque Na",
"quantity": 1
}
]
我希望结果改变如下:
[
"status": true,
"message": false,
"data": [
{
"id_cart": "1",
"shop_id" : "1",
"product" : [
{
"id_product": "1",
"product_name": "test1",
"price": 11111,
"shop_name": "John Doe",
"address": "Quis et eu cumque Na",
"quantity": 1
}
]
}
]
]
任何人都可以帮助我吗?
解决方案
添加了对相同的支持。在 AdonisJs 中做一个嵌套查询构建器
.whereHas
对您有.has
帮助,请参阅此链接:Inject new data into query object
在查询中,我们使用jsonb_agg
以及jsonb_build_object
何时制作嵌套对象。
推荐阅读
- python - 删除行并根据另一个数据框对一个数据框进行排序
- pyparsing - pyparsing 解析 c/cpp 枚举,其值为用户定义的宏
- ssl - 即使 verifyHostname 为假,为什么还要完成主机名验证?
- java - Spring数据JPA删除查询
- r - 如何在 stringr 中使用常规表达式进行查找/替换
- javascript - 如何设置 mocha 以在 Gatsby 存储库中运行测试
- python - 防止 Python 从当前目录相对导入
- maven - 从已部署的 POM 中删除测试依赖项
- laravel - Vuejs 组件未向 laravel 注册
- javascript - .include()的ReactJs过滤结果不起作用