Loading [MathJax]/jax/input/TeX/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >如何使用Prisma创建四层嵌套关系

如何使用Prisma创建四层嵌套关系
EN

Stack Overflow用户
提问于 2020-06-07 19:23:51
回答 2查看 975关注 0票数 0

我有3种主要类型:公司、服务和专业。每家公司都有一份服务清单。每个服务都有一个专业列表。每个专业都有一个专业(子专业)列表。

代码语言:javascript
运行
AI代码解释
复制
Company 1
- Service 1
-- Specialty 1
--- Sub-specialty 1

所以我在Prisma 1.34上做这个数据模型:

代码语言:javascript
运行
AI代码解释
复制
type Company {
  id: ID! @id
  name: String! @unique
  services: [Service]
}
type Service {
  id: ID! @id
  name: String! @unique
  companies: [Company]! @relation(link: TABLE)
  specialties: [Specialty]
}
type Specialty {
  id: ID! @id
  name: String! @unique
  companies: [Company]! @relation(link: TABLE)
  services: [Service] @relation(link: TABLE)
  sub_specialties: [Specialty] @relation(link: TABLE)
}

我的问题是,当我添加一家公司并在另一家公司中为该公司使用相同的服务时,所有其他专业和子专业记录都会随该服务一起出现。我想让每个公司的专业和子专业领域是唯一的,但他们也应该在每个公司下的相关服务。

我在过去的3天里一直在做这件事,我将非常感谢任何人的帮助。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2020-06-15 19:31:01

这是我想出的解决方案:我在ServiceItemSpecialtyItem表中保存唯一的服务和专业名称。每当我向公司添加新的Service时,我都会将该Service链接到一个唯一的特定ServiceItemServiceSpecialty从链接的ServiceItemSpecialtyItem接收它的信息(此项目中只有name属性)。这样,每当我更新我的ServiceItemSpecialtyItem时,每个公司下的所有相关ServiceSpecialty字段都会更新。下面是数据模型:

代码语言:javascript
运行
AI代码解释
复制
type Company {
  id: ID! @id
  name: String! @unique
  services: [Service]! @relation(onDelete: CASCADE)
}

type ServiceItem {
  id: ID! @id
  name: String! @unique
}

type Service {
  id: ID! @id
  info: ServiceItem! @relation(link: INLINE)
  company: Company! @relation(link: INLINE)
  specialties: [Specialty] @relation(onDelete: CASCADE)
}

type SpecialtyItem {
  id: ID! @id
  name: String! @unique
}

type Specialty {
  id: ID! @id
  info: SpecialtyItem! @relation(link: INLINE)
  service: Service @relation(link: INLINE)
  sub_specialties: [Specialty] @relation(onDelete: CASCADE)
}
票数 0
EN

Stack Overflow用户

发布于 2020-06-10 17:58:24

如果您提交给嵌套关系,则必须使Service类型具有不唯一的名称。这将强制为每个公司创建一个新的Service模型,同时仍然允许Specialty更通用,并具有更好的重用性。

这里的逻辑是,如果有多个具有相同名称但具有不同Specialty属性的Services,则它们是不同的。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/62250494

复制
相关文章
精读《Prisma 的使用》
ORM(Object relational mappers) 的含义是,将数据模型与 Object 建立强力的映射关系,这样我们对数据的增删改查可以转换为操作 Object(对象)。
黄子毅
2022/03/15
3.8K1
精读《Prisma 的使用》
prisma后端框架基本使用
prisma后端框架基本使用 重点 定义:GraphQL 是一个用于 API 的查询语言,是一个使用基于类型系统来执行查询的服务端运行时(类型系统由你的数据定义) prisma logout prisma account prisma help Prisma API基于数据模型进行部署,并为该文件中的每个模型公开CRUD和实时操作。 prisma generate schema概念:**也是定义各种数据模型,有三个东西Query,Mutation,Subscribtion,决定resolver有哪些
一个淡定的打工菜鸟
2020/01/20
1.7K0
【深度学习】图片风格转换应用程序:使用CoreML创建Prisma
WWDC 2017让我们了解了苹果公司对机器学习的看法以及它在移动设备上的应用。CoreML框架使得将ML模型引入iOS应用程序变得非常容易。 大约一年前,我们在iOS和Android上实现了自己的神
AiTechYun
2018/03/05
1.8K0
【深度学习】图片风格转换应用程序:使用CoreML创建Prisma
java中sql如何嵌套查找_SQL 查询嵌套使用[通俗易懂]
id int primary key auto_increment, — 主键id
全栈程序员站长
2022/09/22
4.4K0
java中sql如何嵌套查找_SQL 查询嵌套使用[通俗易懂]
彻底玩坏PRISMA
自从从技术层面破解了PRISMA以后,我现在工作的一个内容就是“彻底玩坏”PRISMA,反正只要有大师图还有照片就可以做效果模拟,这种大量的用机器代替人做滤镜开发的事情毫无疑问对生产力有了很大的提升。那就玩呗。 模特就不用多找了,还是我们老几个,再加一个伦敦塔。本着多快好省建设社会主义的原则,这次玩特意把COCO缩小到5%的规模,也就是把训练速度提高20倍。听起来不错吧?一会儿就知道了,代价其实是观众多吐几轮。而且自从我团队从一曾姓妇科大夫手里借来一台GTX980TI以及从荷兰建业转会过来一位自带GTX10
刀刀老高
2018/04/11
6450
彻底玩坏PRISMA
总结if/elif/else/endif宏之间的嵌套关系
先前写的一个工具(Qml宏预处理工具)顺便就总结一下if/elif/else/endif之间的嵌套关系,并整理成表。   从左到右顺序,与之上一个宏定义对比。除去2个无效项,共有14个有效项。 if elif else endif if 创建子层 同层逻辑 同层逻辑 同层逻辑 elif 创建子层 同层逻辑 同层逻辑 同层逻辑 else 创建子层 无效 无效 同层逻辑 endif 创建分组层 上一层逻辑 上一层逻辑 上一层逻辑   示例标注: #if #if /* if -> if 创建子层 */
Qt君
2019/11/14
1.3K0
字典的创建必须使用dict()函数(vba dictionary 嵌套)
开发 Java 项目时, 数据字典的管理是个令人头痛的问题, 至少对我而言是这样的, 我所在的上一家公司项目里面对于字典表的管理是可以进行配置的, 他们是将字典表统一存放在一个数据库里面进行配置, 然后可以由管理员进行动态的实现字典表的变更.
全栈程序员站长
2022/07/31
2.6K0
字典的创建必须使用dict()函数(vba dictionary 嵌套)
使用 prisma 操作数据库
ORM:Object-relational mapping,是把对象和关系型数据库建立映射的过程。 实际应用开发中,基本都会引入 ORM 来辅助操作数据库,通常被提及的好处,例如:
joefu
2022/01/23
2.5K2
破解PRISMA(下)
经过了两周的各种尝试,在各种及其惨烈的测试结果之后,我们还是在网上找到了相关的Paper作为工作指导。 前两周我们的各种尝试是基于一篇名为《Image Style Transfer Using Con
刀刀老高
2018/04/10
1.1K0
破解PRISMA(下)
自己写个 Prisma
Sirajology的视频链接 前一段时间特别火的 Prisma 大家都玩了么,看了这篇文章后,你也可以自己写一个 Prisma 迷你版了。 这个 idea 最开始起源于 Google Researc
杨熹
2018/04/02
8560
自己写个 Prisma
自己写个 Prisma
本文介绍了如何通过使用TensorFlow和Keras库实现一个简单的生成对抗网络(GAN),用于生成类似于Prisma的图像。作者使用VGG16作为生成器和判别器,通过反向传播算法训练模型,并利用限制-内存优化算法进行超参数调整,最终生成高质量的图像。
MachineLP
2018/01/09
6650
自己写个 Prisma
破解PRISMA(中)
对PRISMA的研究已经持续了一周了。虽然还没有完全破解PRISMA最终各种滤镜算法的奥妙,但是确实得到了不少宝贵的信息。 喏,比如上次,我们就找到了这篇著名的论文《Image Style Transfer Using Convolutional Neural Networks》。经过反复的测试,我发现一个问题,那就是关于收敛速度的问题。 要知道,在全世界有至少几百万人在用PRISMA,这本身是需要系统能够容纳比较高的并发,而且要有极好的浮点运算效果的。可是《Image Style Transfer Usi
刀刀老高
2018/04/10
1.1K0
破解PRISMA(中)
nginx 如何实现if嵌套
nginx 不支持 if 嵌套,也不允许在 if 中使用逻辑判断,会报如下错误: nginx: [emerg] "if" directive is not allowed 当业务需要多个条件判断时,可以借助中间变量来实现 如:我们的网站在 pc 端有多个子域名, 而移动端只有一个域名,对应关系如下: www.test.com --> m.test.com sub1.test.com --> m.test.com/sub1 sub2.test.com --> m.test.com/sub2 sub3.tes
章鱼喵
2019/11/27
2K0
依赖关系(“使用”关系)
依赖关系是一种使用关系,如果A类中的某个方法使用了B类对象,那么就可以说A类依赖B类。
全栈程序员站长
2022/09/06
1.1K0
适用于Node.js和TypeScript的完整ORM —— Prisma
Prisma是 Node.js 和 TypeScript 的下一代 ORM。经过两年多的开发,我们很高兴分享所有 Prisma 工具已准备好投入生产!
狂奔滴小马
2021/11/15
1.8K1
适用于Node.js和TypeScript的完整ORM —— Prisma
Elasticsearch使用:嵌套对象
官网地址:https://www.elastic.co/guide/cn/elasticsearch/guide/current/nested-objects.html
HLee
2021/04/23
6.3K0
Elasticsearch使用:嵌套对象
spring @Value嵌套使用
写这篇文章的原因在于博主的一篇文章https://blog.csdn.net/john1337/article/details/104237974,在这篇文章中博主讲述了如何通过配置Swagger的host来使得swagger页面显示的ip为部署服务的服务器地址,springboot使用下面的配置:
johnhuster的分享
2022/03/29
5830
【译】适用于Node.js和TypeScript的完整ORM —— Prisma
Prisma是 Node.js 和 TypeScript 的下一代 ORM。经过两年多的开发,我们很高兴分享所有 Prisma 工具已准备好投入生产!
狂奔滴小马
2022/03/29
1.9K0
【译】适用于Node.js和TypeScript的完整ORM —— Prisma
小白前端入门笔记(11),如何嵌套使用a标签?
让我们来拆解一下上面的代码,我们首先可以看到一个p标签,当中的内容是:<p> Here's a ... for you to follow. </p>。接着我们发现一个a标签嵌入在了p标签当中,a标签有的target属性等于"_blank",这意味着当我们点击这个标签的时候,它会打开一个新的网页tab。href属性和之前一样,指向的是这个标签跳转的链接。
TechFlow-承志
2021/02/08
1.1K0
点击加载更多

相似问题

Prisma嵌套递归关系深度

16

使用Prisma + MongoDB + GraphQL返回null的嵌套关系

11

具有深嵌套关系的PRISMA - 'where‘

115

如何在prisma查询中创建嵌套连接?

10

如何解决prisma (嵌套列表)中的子选择/关系

10
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
社区富文本编辑器全新改版!诚邀体验~
全新交互,全新视觉,新增快捷键、悬浮工具栏、高亮块等功能并同时优化现有功能,全面提升创作效率和体验
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文