Skapa poster i databasen i Redux

På tidigare lektioner har vi förberett allt för att fylla vår databas med data. Låt oss komma igång.

Låt oss öppna vår produktapplikation, och i den filen server.js. Först måste vi bestämma hur många och vilka typer av dataobjekt vi behöver. Vi har 4 säljare, låt oss att för varje av dem finns det 3 produkter. Låt oss introducera två konstanter direkt efter importraderna:

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

Nu, i slutet av filen före exporten av workern, låt oss skapa en for-loop, där vi med hjälp av create skapar poster i databasen för våra 4 säljare:

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

För varje säljare har vi 3 produkter, så i loopen för säljarna skapar vi ytterligare en kapslad for-loop, där vi skapar poster för produkterna:

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

Utmärkt! Här avslutar vi vårt arbete med databasen.

Vi har bara en sak kvar att göra. Vi behöver se till att i produktobjektet i fältet seller skickas säljarens id. Låt oss efter for-looparna skriva ytterligare en funktion serializeProduct, där vi kommer att lägga till detta id:

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

Öppna din studentapplikation. Låt dig ha tre lärare, och för var och en av dem finns det 3 studenter. Efter att ha bekantat dig med materialet i den här lektionen, använd en for-loop och skapa 3 poster med lärare i databasen.

Задание 2

Gör sedan en andra for-loop inuti loopen från föregående uppgift, med vilken du skapar 3 studenter.

Задание 3

Efter de kapslade for-looparna, skriv en funktion serializeStudent, som visas i lektionen, som kommer att sätta in lärarens id i fältet teacher.