如何仅使用具有连接关系行的行获得 sql 结果
How to get sql result with only rows that has a connected relations row
我正在尝试使用 Prism 客户端查询数据库,并且只想取回在联接 table.
中具有外键的行
例如,获取所有也创建了post的用户。我需要一种“INNER JOIN”。
我试过类似的东西:
return this.prisma.user.findMany({
where: {
Post: {
some: {
id: {
not: 0,
}
}
}
}
});
但是结果不正确。
我不确定如何使用“none、一些或每个”
假设我有这样的架构:
model User {
id Int @default(autoincrement()) @id
name String
posts Post[]
createdAt DateTime @default(now())
updatedAt DateTime @updatedAt
}
model Post {
id Int @default(autoincrement()) @id
title String
user User? @relation(fields: [userId], references: [id])
userId Int?
createdAt DateTime @default(now())
updatedAt DateTime @updatedAt
}
我通过以下查询得到没有任何帖子的用户:
const usersWithoutPosts = await prisma.user.findMany({
where: {
posts: {
none: {
id: undefined,
},
},
},
})
你能这样试试看吗?
我正在尝试使用 Prism 客户端查询数据库,并且只想取回在联接 table.
中具有外键的行例如,获取所有也创建了post的用户。我需要一种“INNER JOIN”。
我试过类似的东西:
return this.prisma.user.findMany({
where: {
Post: {
some: {
id: {
not: 0,
}
}
}
}
});
但是结果不正确。 我不确定如何使用“none、一些或每个”
假设我有这样的架构:
model User {
id Int @default(autoincrement()) @id
name String
posts Post[]
createdAt DateTime @default(now())
updatedAt DateTime @updatedAt
}
model Post {
id Int @default(autoincrement()) @id
title String
user User? @relation(fields: [userId], references: [id])
userId Int?
createdAt DateTime @default(now())
updatedAt DateTime @updatedAt
}
我通过以下查询得到没有任何帖子的用户:
const usersWithoutPosts = await prisma.user.findMany({
where: {
posts: {
none: {
id: undefined,
},
},
},
})
你能这样试试看吗?