Aanmaken van gegevens in de database in Redux
In eerdere lessen hebben we alles voorbereid om onze database met gegevens te vullen. Laten we beginnen.
Laten we onze productenapplicatie openen,
en daarin het bestand server.js. Eerst
bepalen we hoeveel en welke soorten gegevensobjecten
we nodig hebben. We hebben 4 verkopers, laten we voor elk
van hen 3 producten toewijzen. Laten we
hier twee constanten voor definiëren, direct na de
importregels:
const NUM_SELLERS = 4
const PRODS_PER_SELLER = 3
Nu maken we, aan het einde van het bestand vóór het exporteren van de worker,
een for-lus, waarin we met behulp van
create gegevens in de database zullen aanmaken
voor onze 4 verkopers:
for (let i = 0; i < NUM_SELLERS; i++) {
const newSeller = db.seller.create(createSellerData(i))
}
Voor elke verkoper hebben we 3
producten, dus we maken binnen de lus voor de verkopers
nog een geneste for-lus, waarin we
gegevens voor producten zullen aanmaken:
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)
}
}
Uitstekend! Hiermee zijn we klaar met het werk met de database.
We hoeven nog maar één ding te doen.
We moeten ervoor zorgen dat in het object met
het product in het veld seller de
id van de verkoper wordt doorgegeven. Laten we onder de for-lussen
nog een functie schrijven,
serializeProduct, waarin we
deze id zullen toevoegen:
const serializeProduct = (product) => ({
...product,
seller: product.seller.id,
})
Open je applicatie met studenten.
Laat je drie docenten hebben, en
voor elk van hen 3 studenten.
Na bestudering van de lesstof in deze les,
gebruik een for-lus en maak
3 gegevensaanmakers met docenten aan in de database.
Maak vervolgens een tweede for-lus binnen de lus
uit de vorige opdracht, waarmee je
3 studenten aanmaakt.
Schrijf na de geneste for-lussen een functie
serializeStudent, zoals getoond in de les,
die in het veld teacher de id
van de docent zal plaatsen.