⊗jsrxPmSDCE 42 of 57 menu

Tworzenie wpisów w bazie danych w Redux

Na poprzednich zajęciach przygotowaliśmy wszystko, aby wypełnić naszą bazę danych. Zabierzmy się do tego.

Otwórzmy naszą aplikację z produktami, a w niej plik server.js. Najpierw zdecydujmy, ile i jakich obiektów z danymi potrzebujemy. Sprzedawców mamy 4, niech na każdego z nich przypada po 3 produktów. Wprowadźmy w tym celu dwie stałe zaraz po wierszach z importem:

const NUM_SELLERS = 4 const PRODS_PER_SELLER = 3

Teraz na końcu pliku przed eksportem workera wykonajmy pętlę for, w której za pomocą create utworzymy wpisy w bazie danych dla naszych 4 sprzedawców:

for (let i = 0; i < NUM_SELLERS; i++) { const newSeller = db.seller.create(createSellerData(i)) }

Na każdego sprzedawcę przypada u nas 3 produktów, dlatego w pętli dla sprzedawców wykonamy jeszcze jedną zagnieżdżoną pętlę for, w której będziemy tworzyć wpisy dla produktów:

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

Doskonale! Na tym zakończyliśmy pracę z bazą danych.

Pozostało nam tylko zrobić jeszcze jedną rzecz. Potrzebujemy, aby w obiekcie z produktem w polu seller przekazywane było id sprzedawcy. Napiszmy poniżej po pętlach for jeszcze jedną funkcję serializeProduct, w której będziemy dodawać to id:

const serializeProduct = (product) => ({ ...product, seller: product.seller.id, })

Otwórz twoją aplikację ze studentami. Niech będzie trzech nauczycieli, a na każdego z nich przypada 3 studentów. Zapoznawszy się z materiałem z tej lekcji, skorzystaj z pętli for i utwórz w bazie danych 3 wpisy z nauczycielami.

Następnie wykonaj drugą pętlę for wewnątrz pętli z poprzedniego zadania, za pomocą której utwórz 3 studentów.

Po zagnieżdżonych pętlach for napisz funkcję serializeStudent, jak pokazano na lekcji, która będzie wprowadzać do pola teacher id nauczyciela.

Polski
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Wykorzystujemy pliki cookie do działania strony, analizy i personalizacji. Przetwarzanie danych odbywa się zgodnie z Polityką prywatności.
zaakceptuj wszystkie dostosuj odrzuć