Création d'enregistrements dans la base de données avec Redux
Lors des leçons précédentes, nous avons tout préparé pour remplir notre base de données. Commençons.
Ouvrons notre application de produits,
et dans celle-ci le fichier server.js. Tout d'abord, nous
allons décider combien et quels types d'objets de données
nous avons besoin. Nous avons 4 vendeurs, disons que pour chacun
d'eux il y a 3 produits. Introduisons
pour cela deux constantes juste après les lignes
d'importation :
const NUM_SELLERS = 4
const PRODS_PER_SELLER = 3
Maintenant, à la fin du fichier avant l'export du worker
faisons une boucle for, dans laquelle nous allons utiliser
create pour créer des enregistrements dans la base de données
pour nos 4 vendeurs :
for (let i = 0; i < NUM_SELLERS; i++) {
const newSeller = db.seller.create(createSellerData(i))
}
Pour chaque vendeur, nous avons 3
produits, donc dans la boucle pour les vendeurs
nous allons faire une autre boucle for imbriquée, dans laquelle
nous allons créer des enregistrements pour les produits :
for (let i = 0; i < NUM_SELLERS; i++) {
const newSeller = db.seller.create(createSellerData(i))
for (let j = 0; j < PRODS_PER_SELLER; j++) {
const newProduct = createProductData(newSeller)
db.product.create(newProduct)
}
}
Excellent ! Nous avons terminé le travail avec la base de données.
Il ne nous reste plus qu'une seule
chose à faire. Nous avons besoin que dans l'objet
produit, le champ seller reçoive
l'id du vendeur. Écrivons une autre fonction
serializeProduct en dessous des boucles for,
dans laquelle nous allons ajouter cet id :
const serializeProduct = (product) => ({
...product,
seller: product.seller.id,
})
Ouvrez votre application avec les étudiants.
Qu'il y ait trois enseignants, et
pour chacun d'eux 3 étudiants.
Après avoir pris connaissance du contenu de cette leçon,
utilisez une boucle for et créez
dans la base de données 3 enregistrements pour les enseignants.
Ensuite, faites une deuxième boucle for à l'intérieur de la boucle
de la tâche précédente, à l'aide de laquelle
créez 3 étudiants.
Après les boucles for imbriquées, écrivez une fonction
serializeStudent, comme montré dans la leçon,
qui mettra dans le champ teacher l'id
de l'enseignant.