Tietueiden luominen tietokantaan Reduxissa

Edellisillä tunneilla valmistelimme kaiken datan täyttämiseksi. Aloitetaan.

Avataan tuotesovelluksemme ja sen sisällä tiedosto server.js. Ensin päätetään kuinka monta ja minkälaisia data-objekteja tarvitsemme. Myyjiä meillä on 4, olkoon jokaisella heistä 3 tuotetta. Määritellään tätä varten kaksi vakiota heti import-rivien jälkeen:

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

Nyt tiedoston lopussa ennen workerin vientiä teemme for-silmukan, jossa avulla create luomme tietueita tietokantaan 4 myyjäämme varten:

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

Jokaisella myyjällä meillä on 3 tuotetta, joten teemme myyjien silmukkaan toisen sisäkkäisen for-silmukan, jossa luomme tietueita tuotteille:

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

Erinomaista! Tällä olemme päättäneet työn tietokannan kanssa.

Meidän on tehtävä vielä yksi asia. Haluamme, että tuoteobjektissa kenttään seller välitetään myyjän id. Kirjoitetaan for-silmukoiden alle vielä yksi funktio serializeProduct, jossa me lisäämme tämän id:n:

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

Avaa opiskelijasovelluksesi. Olkoon sinulla kolme opettajaa, ja jokaisella heistä on 3 opiskelijaa. Tutustuttuasi tämän oppitunnin materiaaliin, hyödynnä for -silmukkaa ja luo tietokantaan 3 tietuetta opettajista.

Задание 2

Seuraavaksi tee toinen for -silmukka edellisen tehtävän silmukan sisään, jonka avulla luot 3 opiskelijaa.

Задание 3

Sisäkkäisten for -silmukoiden jälkeen kirjoita funktio serializeStudent, kuten oppitunnilla on esitetty, joka lisää kenttään teacher opettajan id:n.