Me voy de este pequeño ejemplo de los documentos de secuela.
y no estoy siguiendo al 100%, para nuestro proyecto, tenemos una tabla que tiene una asociación de uno a muchos, pero también dos asociaciones de uno a muchos dentro de uno a muchos (sé que es un poco difícil decir eso)
por lo tanto, la tabla 1 tiene uno a muchos en la tabla 2 y la tabla 2 tiene uno a muchos en la tabla 3 y uno a muchos en la tabla 4
y estoy tratando de entender cómo traducir eso al ejemplo en ese sitio (url) anterior en algo que funcione para mí.
Simplemente no entiendo completamente cómo hacerlo.
por ejemplo, mirando el ejemplo,
include: [{ association: Product.User, include: [ User.Addresses ] }]No estoy seguro de lo que significa incluir vs asociación. Otros ejemplos en esa página parecen usar la asociación de la misma manera que cuando se usa include (creo). Tampoco estoy seguro de cómo funciona esto con varias capas como describí anteriormente en comparación con este ejemplo más simple.
Ahora sé que este es un tipo de creación más grande, pero nos preguntamos si es algo plausible de hacer frente a múltiples llamadas para crear datos para esas otras tablas al crear un conjunto de datos más grande o simplemente hacer una sola creación como este ejemplo dice que es posible :)
si alguien tiene algun consejo se lo agradeceria, gracias!
La opción de association es solo otra alternativa para indicar un modelo asociado: puede usar include e indicar tanto un modelo como un alias O usar association e indicar una asociación que ya almacena un modelo asociado y su alias.
En cuanto a 4 tablas, cada una de las cuales a su vez está vinculada como uno a muchos a la siguiente, solo necesita usar opciones de include/association anidadas y eso es todo. Además, si desea obtener todo en uno, no olvide indicar separate: true en cada nivel de opciones de include/association ; de lo contrario, una consulta SQL generada podría tener demasiados registros y obtendrá el error de falta de memoria.
const allInOneItems = Table1.findAll({ include: [{ model: Table2, separate: true, include: [{ model: Table3, separate: true, include: [{ model: Table4, separate: true, }] }] }] })