如何使用Prisma返回每个Entry关联的球员姓名信息?
问题解决:Prisma查询返回的Players显示为[Object]
你的Prisma查询代码是正确的,players数组里已经包含了你需要的fn和ln属性,之所以控制台显示[Object],是因为Node.js的console.log默认会对嵌套的复杂对象做简化输出,不会展开所有层级。
解决方法
方法1:用JSON.stringify格式化输出
把console.log(user);替换成:
console.log(JSON.stringify(user, null, 2));
这样会以格式化的JSON字符串打印所有数据,包括players里的fn和ln属性,就能看到你期望的[{fn: "Mike", ln: "John"}, ...]结构。
方法2:遍历Entry单独打印Players
如果需要更灵活的输出,可以遍历查询结果,逐个打印每个Entry的Players:
user.forEach(entry => { console.log(`参赛条目ID: ${entry.id}`); console.log('关联球员:', entry.players); });
这种方式下,entry.players会被正确展开显示。
额外验证
你也可以直接访问单个Entry的Players属性来确认数据存在:
if (user.length > 0) { console.log(user[0].players[0].fn); // 直接打印第一个球员的名字 }
内容的提问来源于stack exchange,提问作者Michael Hofweller
相关产品推荐
相关产品推荐

