Estoy usando nestjs y typeorm (Mysql). Tengo estas tablas de usuarios, pedidos y facturas. Ahora la tabla de facturas tiene una clave externa que se vincula a la tabla de pedidos y la tabla de pedidos se vincula a la tabla de usuarios.
Ahora, cuando busco facturas, quiero consultar la tabla de usuarios, pero no tengo una clave externa para la tabla de usuarios, sino que tengo una para la tabla de pedidos y la tabla de pedidos tiene una clave externa para la tabla de usuarios.
¿Hay alguna forma de consultar la tabla de usuario al obtener datos de factura?
Probé el siguiente código
const query = this.createQueryBuilder('invoice'); query.innerJoinAndSelect('invoice.order', 'order'); query.innerJoinAndSelect('order.user', 'user');pero me esta dando este error
[Nest] 96607 - 11/09/2021, 11:08:49 [ExceptionsHandler] Relation with property path user in entity was not found.Es más un consejo que una solución.
TypeORM no es muy intuitivo y la documentación no es clara al respecto.
Te recomiendo que cambies a un ORM futurista, "PRISMA", la migración es muy fácil.
Después de instalarlo, ejecute estos comandos:
Este comando genera el esquema automáticamente basado en su base de datos.
introspección prisma
Este comando aplica los cambios en su esquema prisma.
prisma generar
Después de eso, tendrás un acceso bastante fácil y preciso a las relaciones.