Alv*_*nus 5 typeorm node.js-typeorm
我有这个代码:
let otherParticipants = await chatRoomParticipantRepo
.createQueryBuilder("chatRoomParticipant")
.leftJoinAndSelect("chatRoomParticipant.user", "user")
.select("user.connectionId")
.where("chatRoomParticipant.chatRoomId = :chatRoomId AND chatRoomParticipant.userId != :userId")
.setParameters({ chatRoomId: chatRoomId, userId: userId })
.getRawMany();
Run Code Online (Sandbox Code Playgroud)
这给了我这个结果:
[{user_connectionId: 's7p7bUbzt0wudKcxAAAD'}]
Run Code Online (Sandbox Code Playgroud)
如果我这样做,getMany()它会给我空数组:
[]
Run Code Online (Sandbox Code Playgroud)
我正在尝试获取ID连接user到 的chatRoomParticipant,但我无法使用以下代码来做到这一点:
let otherParticipants = await chatRoomParticipantRepo
.createQueryBuilder("chatRoomParticipant")
.leftJoinAndSelect("chatRoomParticipant.user", "user")
.select("user.connectionId")
.where("chatRoomParticipant.chatRoomId = :chatRoomId AND chatRoomParticipant.userId != :userId")
.setParameters({ chatRoomId: chatRoomId, userId: userId })
.getMany(); <-- This gives nothing
Run Code Online (Sandbox Code Playgroud)
为什么会发生这种情况?我以为getRawMany()只是为了SUM, COUNT, etc。在这种情况下,我试图获取getMany()也应该使用的 ID?
小智 5
使用选择查询生成器可以获得两种类型的结果:实体和原始结果。大多数时候,您需要从数据库中选择真实的实体,例如用户。为此,您可以使用 getOne 和 getMany。但是,有时您需要选择特定数据,例如所有用户照片的总和。这样的数据不是实体,它被称为原始数据。要获取原始数据,请使用 getRawOne 和 getRawMany。
希望对您有帮助
| 归档时间: |
|
| 查看次数: |
15210 次 |
| 最近记录: |