首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在Prisma中从MySql关系表中获取数据

如何在Prisma中从MySql关系表中获取数据
EN

Stack Overflow用户
提问于 2018-05-21 09:13:57
回答 1查看 1.1K关注 0票数 0

在datamodel.graphql中

代码语言:javascript
复制
type Ride {
 rideId: String
 productId: String
 passenger: Passenger
 origin: Origin
 destination: Destination
 dateTime: DateTime
 feedback: String
}


type Passenger {
 id: ID! @unique
 firstName: String
 lastName: String
}

type Destination {
 # The unique ID of the destination.
 id: ID! @unique
 latitude: Float
 longitude: Float
 address: String
}

type Origin {
 id: ID! @unique
 latitude: Float
 longitude: Float
 address: String
}


type Report {

 productId: String
 passenger: Passenger
 description: String
}

我部署了这个数据模型,并生成了一个MySql Db,自动查询,以及与此相关的变异。

它在MySql中创建了一个“骑行”、“乘客”、“报告”和“原产地”表。但它并没有在“骑行”表中为乘客、来源地、目的地创建任何列。

它为此创建了一个关系表,如_PassengerToRide、_OriginToRide和_DestinationToRide。

由于缺乏“乘车”表中的关系建立,在查询“骑行()”时,无法从乘客表、原产地表和目的地表中获得详细信息。这是定义datamodel.graphql的正确方法吗?(编辑)

EN

回答 1

Stack Overflow用户

发布于 2018-05-22 16:47:02

根据您的描述,此查询应该“只起作用”:

代码语言:javascript
复制
query {
  rides {
    feedback
    passenger {
      id
    }
    origin {
      id
    }
    destination {
      id
    }
  }
}

Prisma使用前面提到的关系表方法来跟踪两个节点之间的关系,例如,表_OriginToRide与数据模型中的关系@relation(name: "OriginToRide")有关。

之后,您不必在SQL级别上更改任何东西来连接这些关系。

注:以上适用于具有激活迁移的Prisma数据库连接器。如果连接器不进行迁移,则支持不同的表示关系的方法。支持这一点的相应数据模型可以由内省 (您现有的数据库模式)生成。

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

https://stackoverflow.com/questions/50445475

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档