⊗jsrxPmSDCE 42 of 57 menu

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.

Čeština
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Používáme soubory cookie pro fungování webu, analýzu a personalizaci. Zpracování údajů probíhá v souladu s Zásadami ochrany osobních údajů.
přijmout vše přizpůsobit odmítnout