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:

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

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

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ý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:

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

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.

Задание 2

Ďalej urobte druhý cyklus for vnútri cyklu z predchádzajúcej úlohy, pomocou ktorého vytvorte 3 študentov.

Задание 3

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.