Adatbázis rekordok létrehozása a Redux-ban

Az előző órákon mindent előkészítettünk ahhoz, hogy feltöltsük adatbázisunkat adatokkal. Vágjunk is bele.

Nyissuk meg a termékeinkkel kapcsolatos alkalmazásunkat, és benne a server.js fájlt. Először is döntsük el, hány és milyen adatobjektumokra van szükségünk. Eladóink 4-en vannak, legyen mindegyikük 3 termék. Vezessünk be ehhez két konstanst közvetlenül az import sorok után:

api/server.jsconst NUM_SELLERS = 4
const PRODS_PER_SELLER = 3

Most a fájl végén, a worker exportálása előtt készítsünk egy for ciklust, amellyel a create segítségével rekordokat hozunk létre az adatbázisban a 4 eladónknak:

api/server.jsfor (let i = 0; i < NUM_SELLERS; i++) {
  const newSeller = db.seller.create(createSellerData(i))
}

Minden eladóra 3 termék jut, ezért az eladók ciklusában készítünk még egy beágyazott for ciklust, amellyel a termékek rekordjait hozzuk létre:

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)
  }
}

Kiváló! Ezzel befejeztük a munkát az adatbázissal.

Már csak egy dolgot kell megtennünk. Azt szeretnénk, hogy a termék objektumban a seller mezőben az eladó azonosítója legyen átadva. Írjunk a for ciklusok alá még egy függvényt, a serializeProduct-ot, amelyben ezt az azonosítót adjuk hozzá:

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

Nyissa meg a diákjaival kapcsolatos alkalmazását. Legyen három oktatója, és mindegyikükhöz 3 diák tartozik. Miután megismerkedett ennek a leckének az anyagával, használja a for ciklust, és hozzon létre az adatbázisban 3 rekordot az oktatókkal.

Задание 2

Ezután készítsen egy másik for ciklust az előző feladat ciklusán belül, amellyel 3 diákot hoz létre.

Задание 3

A beágyazott for ciklusok után írjon egy függvényt serializeStudent néven, ahogyan azt a leckében bemutattuk, amely a teacher mezőbe az oktató azonosítóját (id) helyezi el.