<p>我有一个类似于这样的模式</p>
<pre class="brush:php;toolbar:false;">model User {
  id       Int      @default(autoincrement())
  settings Settings
}
model Settings {
  userId     Int
  settingOne Boolean @default(false)
  user       User    @relation(fields: [userId], references: [id], onDelete: Cascade)
}</pre>
<p>我不想让用户的设置是可选的 - 是否有一种方法可以在创建用户时自动在设置表中创建相应的行?</p>            
            
            
            
            
            
            
            
            
            
            
            
            
            
            
            
            
         
        
        
我在我的代码中正在做非常类似的事情:
const publication = await prisma.publication.create({ data: { title: e.title, type: e.type, content: e.content, user: { connect: { id: user.id } }, publicationStatus: { create: { status: 'DRAFT' } } } });我们所有的
publications都有一个对应的publicationStatus,类似于你列出的问题,也许你可以这样做:await prisma.user.create({ data: { settings: { create: { settingOne: true } } } })或者类似的操作?
这是不可能的,因为如果关系的两个方面都是必需的,那么你如何创建其中任何一个呢?所以没有关系标量(表示数据库中外键的字段)的关系方面必须是可选的。你可以自己决定哪一个。
例如,你想创建
User,但Settings是必需的,所以你需要先创建Settings。但是要创建Settings,你也需要User,因为它在Settings模型中是必需的。更多信息请参阅文档