Креирање записи во базата на податоци во Redux

На претходните часови подготвивме сè за да ја пополниме нашата база со податоци. Да започнеме.

Да ја отвориме нашата апликација со производи, а во неја датотеката server.js. Најпрво ќе одлучиме колку и какви објекти со податоци ни се потребни. Продавачи имаме 4, нека за секој од нив има по 3 производи. Воведеме за тоа две константи веднаш по линиите со импорт:

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

Сега на крајот од датотеката пред експортот на работникот направиме for циклус, во кој со помош на create ќе креираме записи во базата на податоци за нашите 4 продавачи:

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

За секој продавач има по 3 производи, па затоа во циклусот за продавачите направиме уште еден вгнезден for, во кој ќе креираме записи за производите:

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

Одлично! Со ова завршивме со работата со базата на податоци.

Останува да направиме уште една работа. Треба да осигураме дека во објектот со производот во полето seller ќе се пренесува id на продавачот. Да напишеме подолу по циклусите for уште една функција serializeProduct, во која ќе го додадеме овој id:

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

Отворете ја вашата апликација со студенти. Нека имате три предавачи, а за секој од нив по 3 студенти. Запознајте се со материјалот од овој урок, искористете го циклусот for и креирајте во базата на податоци 3 записи со предавачи.

Задание 2

Потоа направете втор for циклус внатре во циклусот од претходната задача, со кој креирајте 3 студенти.

Задание 3

По вгнездените for циклуси напишете функција serializeStudent, како што е прикажано во урокот, која ќе го внесува во полето teacher id на предавачот.