ok j'ai une table, où je stocke des noms de tous les modules ou programmes, un peu comme celui-ci maintenant, je veux stocker le module parent de tous les modules tels que nous devons que nous ayons besoin de avoir Cela m'a aidé à donner aux parents la possibilité d'avoir plusieurs enfants, comme Nodejs avaient deux enfants angulaires et ioniques. P> J'utilise la séquelle et j'ai configuré l'association comme une association régulière. la sortie est quelque peu comme suit: p> ce qui était assez attendu, mais je veux obtenir le tableau des modules parents à l'intérieur Les entiers enfants, un peu comme ceci: p> Je sais que je peux changer la colonne alors comment peut atteindre la sortie souhaitée et quelle modification besoin de faire dans les associations ou la structure de la table entière en incluant une troisième table qui aura deux références de clé avant La même table, un peu comme ça, mais cela n'a pas l'air si conventionnel, ni d'être honnête, je n'ai jamais vu de choses comme ça avant donc je ne suis pas tout à fait sûr si cela est correct ou non. P> Nodejs code> installé pour commencer à utiliser
ionic code> ou pour
tensorflow code> Nous devons avoir
python code>. Maintenant, j'avais deux j'ai inclus une colonne nommée
parent_id code> qui était
étrangers_key code> référencement
id code> de la même table. P>
parent_id code> sur
ID enfant code> Modules de carte de manière opposée mais qui exclut la possibilité d'un parent ayant plusieurs enfants et ne montrera qu'un enfant par parent. p>
+-------------------------------------------------
| | |
+----+----------------+ +----+---------+----------+
|id |module | |id |child_id |parent_id |
+----+----------------+ +----+---------+----------+
|1 |node js | |1 | 3 | 1 |
+----+----------------+ +----+---------+----------+
|2 |python | |2 | 4 | 1 |
+----+----------------+ +----+---------+----------+
|3 |angular | |3 | 5 | 2 |
+----+----------------+ +----+---------+----------+
|4 |ionic | |4 | 6 | 2 |
+----+----------------+ +----+---------+----------+
|5 |tensorflow |
+----+----------------+
|6 |jupyter notebook|
+----+----------------+
3 Réponses :
J'espère que vous avez besoin d'une association auto-référencée.
let modules = await models.Module.findAll({ include: [{ model: models.Module, as:'sub_entry' }]
Ce que vous avez suggéré est déjà arrivé comme je l'ai mentionné dans ma question, mais ce n'est pas le résultat souhaité
Vous pouvez créer une table de nombreux à plusieurs à plusieurs personnes comme celle-ci: - P>
Créer une langue de table ( lng_id int pas null, lng_name varchar (40) non null, Description Varcharchar (100) Not Null, Image blob non nulle, Touche principale (LNG_ID) P>
Créer une table de dépendance_lng ( lng_id1 int pas null, // fk lié à la langue.lng_id lng_id2 int pas null), // fk lié à la langue.lng_id Contrainte pk_dependency_lng clé primaire (lng_id1, lng_id2) p>
Vous pouvez ajouter alors autant d'entrées que vous le souhaitez sur le côté des clés étrangères si votre exigence exige. P>
P.s: --- également si vous le souhaitez, la colonne d'incrémentation automatique n'est pas nécessaire. La clé primaire peut être (lng_id1, lng_id2) p>
Association auto-référencée aura fonctionné
[{id: 1, module: 'node js', Module: []}, {id: 2, module: 'python', Module: []}, {id: 3, module: 'angular', Module: [ {id: 1, module: 'node js'} ]}, {id: 4, module: 'ionic', Module: [ {id: 1, module: 'node js'}, ]}, {id: 5, module: 'tensorflow', Module: [ {id: 2, module: 'python'}, ]}, {id: 6, module: 'jupyter notebook', Module: [ {id: 2, module: 'python'}, ]}]