はじめに
- 昨日、作成した住所データに関連するテーブルを作成してリレーションの設定を行う
リレーションの設定
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"
}
]
}
]