Как получить данные из таблицы отношений MySql в Prisma

В datamodel.graphql

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.

Отсутствие установления связи в таблице «Поездка», я не мог получить подробную информацию из таблиц «Пассажир», «Исходная точка» и «Пункт назначения», когда я запрашивал «rides ()». Это правильный способ определения datamodel.graphql. (отредактировано)

Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
0
0
861
1

Ответы 1

Судя по вашему описанию, этот запрос должен «просто работать»:

query {
  rides {
    feedback
    passenger {
      id
    }
    origin {
      id
    }
    destination {
      id
    }
  }
}

Prisma использует упомянутый вами подход таблицы отношений, чтобы отслеживать, связаны ли отношения между двумя узлами, например, таблица _OriginToRide с отношением @relation(name: "OriginToRide") из вашей модели данных.

Вам не нужно ничего менять на уровне SQL, чтобы впоследствии связать отношения.

Note: The above applies to Prisma database connectors with activated migrations. If your connector doesn't do migrations, different approaches to represent relations are supported. The respective datamodel to support this can be generated by introspecting your existing database schema.

Что делать, если ваша соединительная таблица не названа с подчеркиванием?

Z2VvZ3Vp 25.08.2020 18:24

Другие вопросы по теме