如何使用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
}
]
}
]
]
任何人都可以帮助我吗?
回答如下:已添加相同的支持。to do a nested query builder in AdonisJs
.whereHas
和.has
对您有帮助,请参阅此链接:Inject new data into query object
在查询中,当创建嵌套对象时,我们使用jsonb_agg
和jsonb_build_object
。