はじめに
- 昨日、作成した住所データに関連するテーブルを作成してリレーションの設定を行う
リレーションの設定
content_typeでフィールドを追加する際に「Relation」という項目があるので、そちらを選択する
リレーションの種類を選択する。選択すると中間テーブルが作成されてリレーションすることが可能となる
(参考URL) strapi.io
リレーション設定するとフィールドに追加されていることが確認できる。
中間テーブルが作成されていることをが確認できる。
管理画面のリレーションの設定は下記のように設定することができる。
APIの実行結果
- リレーションがされた状態でAPIの結果が戻ってきるので、正しくリレーションされていることを確認することができました。
- jsonフィールドも使える。ただし、データベースの型は「longtext」フィールドとして作成される
http://localhost:1337/addresses?post_code=2750016 [ { "id": 34910, "post_code": "2750016", "prefectures": "千葉県", "city_name": "習志野市", "town_name": "津田沼", "published_at": "2020-12-11T12:21:36.000Z", "created_at": "2020-12-11T12:18:07.000Z", "updated_at": "2020-12-11T12:18:07.000Z", "area_questions": [ { "id": 1, "prefectures": "千葉県", "questions": { "q1": { "question_title": "千葉県のどこに住んでいますか?", "required": true, "input_type": "text" }, "q2": { "question_title": "千葉県どのくらい好きですか?", "required": true, "input_type": "select", "options": { "大好き": "1", "好き": "2", "普通": "3", "嫌い": "4" } }, "q3": { "question_title": "性別は?", "required": true, "input_type": "radio", "options": { "男性": "1", "女性": "2" } }, "q4": { "question_title": "好きなスポーツはなんですか?", "required": true, "input_type": "checkbox", "options": { "サッカー": "1", "野球": "2", "バスケットボール": "3", "ゴルフ": "4" } } }, "published_at": "2020-12-12T14:52:14.000Z", "created_at": "2020-12-12T14:39:31.000Z", "updated_at": "2020-12-12T14:53:48.000Z" } ] } ]