Reduxにおけるデータベースレコードの作成

前回のレッスンでは、データベースにデータを投入するための準備を整えました。さあ、始めましょう。

商品アプリケーションを開き、その中のファイル server.js を開きましょう。まず、必要なデータオブジェクトの種類と数を決めます。出品者は 4 人で、それぞれが 3 つの商品を持っているとしましょう。インポート文の直後に、このための2つの定数を定義します:

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

次に、ファイルの末尾、workerのエクスポートの前に、create メソッドを使って 4 人の出品者のデータベースレコードを作成するための for ループを作成します:

api/server.jsfor (let i = 0; i < NUM_SELLERS; i++) {
  const newSeller = db.seller.create(createSellerData(i))
}

各出品者には 3 つの商品があるため、出品者用のループ内に、商品レコードを作成するためのもう1つのネストされた 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)
  }
}

優秀です!これでデータベースに関する作業は完了です。

あと1つだけやるべきことが残っています。商品オブジェクトの seller フィールドに出品者の id を渡す必要があります。for ループの後に、この id を追加するための関数 serializeProduct をもう1つ書きましょう:

api/server.jsconst serializeProduct = (product) => ({
  ...product,
  seller: product.seller.id,
})
Задание 1

学生アプリケーションを開いてください。講師が3人いて、それぞれに 3 人の学生がいるとします。このレッスンの内容を参考にして、for ループを使用して、データベースに 3 件の講師レコードを作成してください。

Задание 2

次に、前の課題のループ内に2つ目の for ループを作成し、それを使って 3 人の学生を作成してください。

Задание 3

ネストされた for ループの後に、レッスンで示したように、teacher フィールドに講師の id を挿入する関数 serializeStudent を書いてください。