Выберите поля из разных таблиц — TypeORM

#javascript #node.js #postgresql #typeorm

Вопрос:

Я несколько новичок в SQL. У меня есть три стола users_table , products_table , и users_orders . В users_table нем содержится основная информация о пользователе, а в users_orders таблице содержится информация о заказах пользователя. Вот структура products_table и users_orders .

N. B

Пользователи могут регистрироваться и создавать продукты для продажи на платформе (например, на торговой площадке).

Таблица продуктов

 id: Int productName: String price: Int ... createdBy: Foreign key to user's table  

Таблица заказов пользователей

 id: Int isOrdered: bool // to know if a user ordered a particular item userId: Foreign key to the user's table productId: Foreign key to the product table  

Проблема

В интерфейсе я вызываю API, чтобы захватить все продукты из базы данных и отобразить их на главной странице. Я хочу знать, заказал ли пользователь определенный товар, если да, то на основе логической проверки я могу сделать order button его недоступным. Это делается для того, чтобы они не могли заказать определенный товар дважды. (Бизнес-требования).

Ожидаемое Поведение

В настоящее время я использую TypeORM для обработки взаимодействия с базой данных Postgres. Как мне выполнить запрос, чтобы получить все заказы от products_table поставщика, users_orders чтобы узнать, какой товар заказал пользователь, чтобы мне isOrdered вернули поле обратно?

Пример ответа API

Когда я звоню в базу данных, чтобы получить все продукты, возвращается такой ответ.

 [  {  productName: String  price: Int  createdBy: User who created the product listing  date: Date  } ]   

I want to be able to make a single query that can check the users_orders and products_table to know which product the current loggedIn user has made. So the response could be like this

 [  {  id: Int  productName: String  price: Int  createdBy: User who created it  isOrdered: Boolean  productId: Product object details  } ]  

Как мне добиться этого с помощью TypeORM? Заранее благодарю вас!