Стварэнне запісаў у базе дадзеных у 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
выкладчыка.