Запіс на курсы па HTML, CSS, JavaScript, PHP, Python, фрэймворкам і CMS,
а таксама: дапамога ў пошуку працы і заказаў, стажыроўка на рэальных праектах→
⊗jsrxPmSDCE 42 of 57 menu

Стварэнне запісаў у базе дадзеных у Redux

На мінулых занятках мы падрыхтавалі ўсё, каб запоўніць нашу базу дадзенымі. Давайце прыступім.

Давайце адкрыем наша прыкладанне з прадуктамі, а ў ім файл server.js. Спачатку мы вызначымся колькі і якіх аб'ектаў з дадзенымі нам трэба. Гандляроў у нас 4, хай на кожнага з іх прыпадае па 3 прадукту. Увядзем для гэтага дзве канстанты адразу пасля радкоў з імпартам:

const NUM_SELLERS = 4 const PRODS_PER_SELLER = 3

Цяпер у канцы файла перад экспартам воркера зробім цыкл for, у якім мы з дапамогай create створым запісы ў базе дадзеных для нашых 4 гандляроў:

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

На кожнага гандляра ў нас прыпадае 3 прадукту таму мы ў цыкле для гандляроў зробім яшчэ адзін укладзены for, у якім будзем ствараць запісы для прадуктаў:

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

Выдатна! На гэтым мы скончылі працу з базай дадзеных.

Нам засталося толькі зрабіць яшчэ адну рэч. Нам трэба, каб у аб'екце з прадуктам у поле seller перадаваўся id гандляра. Давайце ніжэй пасля цыклаў for напішам яшчэ адну функцыю serializeProduct, у якой мы будзем дадаваць гэты id:

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

Адкрыйце ваша прыкладанне са студэнтамі. Хай у вас будзе тры выкладчыкі, а на кожнага з іх прыпадае 3 студэнта. Азнаёміўшыся з матэрыялам гэтага ўрока, скарыстайцеся цыклам for і стварыце ў базе дадзеных 3 запісы з выкладчыкамі.

Затым зрабіце другі цыкл for унутры цыкла з папярэдняй задачы, з дапамогай якога стварыце 3 студэнтаў.

Пасля ўкладзеных цыклаў for напішыце функцыю serializeStudent, як паказана ў уроку, якая будзе ўносіць у поле teacher id выкладчыка.

byenru