You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Prisma 2.28.0调用findMany方法无法返回关联数据是什么原因?

Prisma默认采用按需加载策略,不会自动返回关联表数据,你需要在查询时显式使用include参数指定要加载的关联字段。

修复后的查询代码

const { PrismaClient }=require("@prisma/client")

const prisma = new PrismaClient()

async function checkPrismaConnection(){
    try {
        const result=await prisma.product.findMany({
            // 显式声明需要加载的关联表
            include: {
                transactions: true
            }
        });
        console.log(result);
    }catch (e) {
        console.log(e);
    }
}

checkPrismaConnection();

返回结果示例

修改后查询结果会自动携带关联的交易数据:

[
  { 
    "id": 1, 
    "name": "John Doe",
    "transactions": [
      {"id": 1, "quantity": 10, "time": 16xxxxxxx, "productId": 1},
      // 其他关联的transaction记录
    ]
  },
  // 其他product记录
]

进阶用法

如果只需要获取关联表的部分字段,或者需要对关联数据做筛选、排序,可以对include参数做更精细的配置:

const result=await prisma.product.findMany({
    include: {
        transactions: {
            // 只返回关联交易的数量和时间字段
            select: {
                quantity: true,
                time: true
            },
            // 筛选关联交易,只返回数量大于5的记录
            where: {
                quantity: {
                    gt: 5
                }
            }
        }
    }
});

内容的提问来源于stack exchange,提问作者Md Rezaul Karim

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.10 08:42:03