Vytváranie záznamov v databáze v Reduxe
Na predchádzajúcich hodinách sme pripravili všetko na to, aby sme naplnili našu databázu údajmi. Poďme na to.
Otvorme našu aplikáciu s produktmi,
a v nej súbor server.js. Najprv sa
rozhodneme, koľko a akých objektov s údajmi
potrebujeme. Predajcov máme 4, nech na každého
z nich pripadá po 3 produkty. Zadajme
na to dve konštanty hneď za riadkami
s importom:
const NUM_SELLERS = 4
const PRODS_PER_SELLER = 3
Teraz na konci súboru pred exportom workera
urobme cyklus for, v ktorom pomocou
create vytvoríme záznamy v databáze
pre našich 4 predajcov:
for (let i = 0; i < NUM_SELLERS; i++) {
const newSeller = db.seller.create(createSellerData(i))
}
Na každého predajcu pripadá 3
produktu, preto v cykle pre predajcov
urobíme ešte jeden vnorený for, v ktorom
budeme vytvárať záznamy pre produkty:
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)
}
}
Výborne! Tým sme ukončili prácu s databázou.
Zostáva nám urobiť ešte jednu
vec. Potrebujeme, aby v objekte s
produktom v poli seller bol odovzdaný
id predajcu. Napíšme nižšie za cyklami
for ešte jednu funkciu
serializeProduct, v ktorej
budeme pridávať tento id:
const serializeProduct = (product) => ({
...product,
seller: product.seller.id,
})
Otvorte vašu aplikáciu so študentmi.
Nech máte troch učiteľov, a
na každého z nich pripadá 3 študenta.
Po oboznámení sa s materiálom tejto lekcie,
využite cyklus for a vytvorte
v databáze 3 záznamy s učiteľmi.
Ďalej urobte druhý cyklus for vnútri cyklu
z predchádzajúcej úlohy, pomocou ktorého
vytvorte 3 študentov.
Po vnorených cykloch for napíšte funkciu
serializeStudent, ako je ukázané v lekcii,
ktorá bude vkladať do poľa teacher id
učiteľa.