You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用Prisma 2创建Mikrotik记录并关联已有Subnet表数据

关联已有Subnet记录到新创建的Mikrotik设备

嘿,这事儿其实挺简单的,Prisma专门提供了connect关键字来关联已存在的数据库记录,我分两种常见场景给你说明:

场景1:你知道要关联的Subnet的ID

如果已经明确目标Subnet的id值,直接在Subrede字段里用connect指定ID即可:

await prisma.mikrotik.create({
  data: {
    name: rebody.name,
    ip: rebody.ip,
    netmask: mask,
    gatway: rebody.gatway,
    password: rebody.password,
    Subrede: {
      // 把这里的数字替换成你实际要关联的Subnet的ID
      connect: { id: 1 } 
    }
  }
})

场景2:你不知道Subnet的ID,但知道它的某个唯一字段

假设你的Subnet模型有一个唯一标识字段(比如cidr子网段、name子网名称,且这个字段在Prisma Schema里加了@unique约束),那可以通过这个字段来关联:

await prisma.mikrotik.create({
  data: {
    name: rebody.name,
    ip: rebody.ip,
    netmask: mask,
    gatway: rebody.gatway,
    password: rebody.password,
    Subrede: {
      // 替换成你Subnet模型里的唯一字段和对应值
      connect: { cidr: "192.168.0.0/24" } 
    }
  }
})

几个关键细节要注意:

  • 字段名必须和你的Prisma Schema完全匹配(大小写敏感!你代码里写的Subrede,Schema里的关联字段也得是这个名字)
  • 用来connect的字段必须是Subnet模型的唯一字段(要么是@id,要么加了@unique),不然Prisma会因找不到唯一匹配的记录而报错
  • 确保你的Schema已经正确定义了Mikrotik和Subnet的关联关系,比如Mikrotik模型里有Subrede Subnet @relation(fields: [subredeId], references: [id])这类配置

内容的提问来源于stack exchange,提问作者Vini DB

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.07 18:37:57