Crearea înregistrărilor în baza de date în Redux
În lecțiile anterioare am pregătit totul pentru a umple baza noastră de date cu date. Să începem.
Să deschidem aplicația noastră cu produse,
iar în ea fișierul server.js. Mai întâi vom
decide câte și ce obiecte de date
avem nevoie. Avem 4 vânzători, fiecare dintre ei
să aibă câte 3 produse. Să introducem
pentru asta două constante imediat după liniile
cu importurile:
const NUM_SELLERS = 4
const PRODS_PER_SELLER = 3
Acum la sfârșitul fișierului înainte de exportul worker-ului
să facem un ciclu for, în care cu ajutorul
create vom crea înregistrări în baza de date
pentru cei 4 vânzători ai noștri:
for (let i = 0; i < NUM_SELLERS; i++) {
const newSeller = db.seller.create(createSellerData(i))
}
Pentru fiecare vânzător avem câte 3
produse, așa că în ciclul pentru vânzători
vom face încă un for imbricat, în care
vom crea înregistrări pentru produse:
for (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)
}
}
Excelent! Am terminat lucrul cu baza de date.
Mai rămâne să facem încă un
lucru. Trebuie ca în obiectul cu
produsul în câmpul seller să fie transmis
id-ul vânzătorului. Să scriem mai jos după ciclurile for încă o funcție
serializeProduct, în care vom
adăuga acest id:
const serializeProduct = (product) => ({
...product,
seller: product.seller.id,
})
Deschideți aplicația voastră cu studenții.
Să aveți trei profesori, iar
pe fiecare dintre ei să-i aibă 3 studenți.
După ce v-ați familiarizat cu materialul acestei lecții,
folosiți ciclul for și creați
în baza de date 3 înregistrări cu profesori.
Apoi faceți un al doilea ciclu for în interiorul ciclului
din sarcina anterioară, cu ajutorul căruia
creați 3 studenți.
După ciclurile imbricate for scrieți o funcție
serializeStudent, așa cum este arătat în lecție,
care va introduce în câmpul teacher id-ul
profesorului.