Soy algo nuevo en SQL. Tengo tres tablas users_table , products_table y users_orders . La users_table contiene información básica sobre el usuario y la tabla users_orders contiene información sobre los pedidos del usuario. Aquí hay una estructura de products_table y users_orders .
nótese bien
Los usuarios pueden registrarse y crear productos para vender en la plataforma (como un mercado).
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 tableProblema
En el front-end, realizo una llamada a la API para obtener todos los productos de la base de datos y mostrarlos en la página principal. Quiero poder saber si un usuario ha pedido un artículo en particular, si lo ha hecho, luego, en función de una verificación booleana, puedo hacer que no se pueda hacer clic en el order button de pedido. Esto es para evitar que ordenen un artículo en particular dos veces. (Requisitos comerciales).
Comportamiento esperado
Actualmente uso TypeORM para manejar la interacción de mi base de datos con Postgres. ¿Cómo ejecuto la consulta para obtener todos los pedidos de products_table junto con users_orders para saber qué artículo ha pedido un usuario, de modo que me devuelvan el campo isOrdered ?
Ejemplo de respuesta de API
Cuando realizo una llamada a la base de datos para obtener todos los productos, se devuelve una respuesta como esta.
[ { productName: String price: Int createdBy: User who created the product listing date: Date } ] Quiero poder hacer una sola consulta que pueda verificar los users_orders y la products_table para saber qué producto ha hecho el usuario que ha iniciado sesión actualmente. Entonces la respuesta podría ser así.
[ { id: Int productName: String price: Int createdBy: User who created it isOrdered: Boolean productId: Product object details } ]¿Cómo logro esto con TypeORM? ¡Gracias de antemano!