Създаване на записи в базата данни в Redux

В предишните уроци подготвихме всичко необходимо, за да попълним нашата база данни. Да започваме.

Нека отворим нашето приложение с продукти, а във него файла server.js. Първо ще решим колко и какви обекти с данни са ни необходими. Имаме 4 продавача, нека за всеки от тях да има по 3 продукта. Въвеждаме за това две константи веднага след редовете с импорти:

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

Сега в края на файла, преди експорта на worker-а, ще направим цикъл 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 на преподавателя.