[英]CreateMany inside a Create statement in Prisma
您好,我正在尝试实现一个接受另一个 model 数组的创建语句。这是我的模式
model House {
id String @id
createdAt DateTime @default(now())
updatedAt DateTime @updatedAt
property_name String @db.VarChar(30)
house_type String @db.VarChar(10)
beds Int
baths Int
workspace Int
occupied Boolean @default(false)
stay DateTime[]
amenities Amenity[]
room Room[]
zipcode String @db.VarChar(5)
address Address @relation(fields: [address_id], references: [id])
address_id Int
}
model Address {
id Int @id @default(autoincrement())
city String
state_code String @db.VarChar(2)
house House[]
}
model Amenity {
id Int @id @default(autoincrement())
amenity_name String
house House @relation(fields: [house_id], references: [id])
house_id String
}
model Room {
id Int @id @default(autoincrement())
room_number String
occupied Boolean @default(false)
house House @relation(fields: [house_id], references: [id])
house_id String
}
我试图添加具有各自关系的房屋,但这是我发现的唯一方法。
createHomeDto.id = uuid();
const {
amenities,
room,
...home
} = createHomeDto;
await this.prisma.house.create({
data: home
});
Object.entries(amenities).map(async ([key, value]) => {
await this.prisma.amenity.create({
data: {
amenity_name: value.amenity_name,
house: {
connect: {
id: home.id
}
}
}
})
});
Object.entries(room).map(async ([key, value]) => {
await this.prisma.room.create({
data: {
room_number: value.room_number,
house: {
connect: {
id: home.id
}
}
}
})
})
是否有更好的解决方案,或者我坚持这样建立我的关系?
它能回答你的问题吗?
https://www.prisma.io/docs/concepts/components/prisma-client/relation-queries#nested-writes
编辑:如果向下滚动此页面,您将看到如何在 create 语句中创建 createMany。 看给定的例子:
const user = await prisma.user.create({
data: {
email: 'saanvi@prisma.io',
posts: {
createMany: {
data: [{ title: 'My first post' }, { title: 'My second post' }],
},
},
},
include: {
posts: true,
},
})
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.