Vytváření záznamů v databázi v Reduxu
V předchozích lekcích jsme vše připravili tak, abychom naši databázi naplnili daty. Pojďme do toho.
Pojďme otevřít naši aplikaci s produkty,
a v ní soubor server.js. Nejprve se
rozhodneme, kolik a jakých objektů s daty
potřebujeme. Prodejců máme 4, nechť na každého
z nich připadá po 3 produktech. Zavedeme
pro to dvě konstanty hned za řádky
s importem:
const NUM_SELLERS = 4
const PRODS_PER_SELLER = 3
Nyní na konci souboru před exportem workeru
vytvoříme cyklus for, ve kterém pomocí
create vytvoříme záznamy v databázi
pro naše 4 prodejce:
for (let i = 0; i < NUM_SELLERS; i++) {
const newSeller = db.seller.create(createSellerData(i))
}
Na každého prodejce u nás připadá 3
produktů, proto v cyklu pro prodejce
vytvoříme ještě jeden vnořený for, ve kterém
budeme vytvářet záznamy pro 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ýborně! Tím jsme dokončili práci s databází.
Zbývá nám udělat ještě jednu
věc. Potřebujeme, aby v objektu s
produktem v poli seller byl předán
id prodejce. Pojďme pod cykly
for napsat ještě jednu funkci
serializeProduct, ve které
budeme toto id přidávat:
const serializeProduct = (product) => ({
...product,
seller: product.seller.id,
})
Otevřete vaši aplikaci se studenty.
Nechť máte tři učitele, a
na každého z nich připadá 3 studentů.
Seznámíte-li se s materiálem této lekce,
využijte cyklus for a vytvořte
v databázi 3 záznamy s učiteli.
Dále vytvořte druhý cyklus for uvnitř cyklu
z předchozí úlohy, pomocí kterého
vytvořte 3 studentů.
Po vnořených cyklech for napište funkci
serializeStudent, jak je ukázáno v lekci,
která bude vkládat do pole teacher id
učitele.