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:

api/server.jsconst 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:

api/server.jsfor (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:

api/server.jsfor (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:

api/server.jsconst serializeProduct = (product) => ({
  ...product,
  seller: product.seller.id,
})
Задание 1

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.

Задание 2

Dále vytvořte druhý cyklus for uvnitř cyklu z předchozí úlohy, pomocí kterého vytvořte 3 studentů.

Задание 3

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.