Adatbázis rekordok létrehozása a Redux-ban
Az előző órákon mindent előkészítettünk ahhoz, hogy feltöltsük adatbázisunkat adatokkal. Vágjunk is bele.
Nyissuk meg a termékeinkkel kapcsolatos alkalmazásunkat,
és benne a server.js fájlt. Először is döntsük el,
hány és milyen adatobjektumokra van szükségünk.
Eladóink 4-en vannak, legyen mindegyikük
3 termék. Vezessünk be ehhez két konstanst
közvetlenül az import sorok után:
const NUM_SELLERS = 4
const PRODS_PER_SELLER = 3
Most a fájl végén, a worker exportálása előtt
készítsünk egy for ciklust, amellyel a
create segítségével rekordokat hozunk létre az adatbázisban
a 4 eladónknak:
for (let i = 0; i < NUM_SELLERS; i++) {
const newSeller = db.seller.create(createSellerData(i))
}
Minden eladóra 3
termék jut, ezért az eladók ciklusában
készítünk még egy beágyazott for ciklust, amellyel
a termékek rekordjait hozzuk létre:
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)
}
}
Kiváló! Ezzel befejeztük a munkát az adatbázissal.
Már csak egy dolgot kell megtennünk.
Azt szeretnénk, hogy a termék objektumban
a seller mezőben az eladó azonosítója legyen átadva.
Írjunk a for ciklusok alá még egy függvényt,
a serializeProduct-ot, amelyben ezt
az azonosítót adjuk hozzá:
const serializeProduct = (product) => ({
...product,
seller: product.seller.id,
})
Nyissa meg a diákjaival kapcsolatos alkalmazását.
Legyen három oktatója, és
mindegyikükhöz 3 diák tartozik.
Miután megismerkedett ennek a leckének az anyagával,
használja a for ciklust, és hozzon létre
az adatbázisban 3 rekordot az oktatókkal.
Ezután készítsen egy másik for ciklust az előző feladat ciklusán belül,
amellyel
3 diákot hoz létre.
A beágyazott for ciklusok után írjon egy függvényt
serializeStudent néven, ahogyan azt a leckében bemutattuk,
amely a teacher mezőbe az oktató azonosítóját (id) helyezi el.