Stackoverflows API と同様に、RestKit を使用してリモート Web サービスからデータをキャッシュしています。
API には質問とタグがありますが、テキストでタグを取得する代わりに、タグ ID を取得します。
質問リソースは次のようになります。
{
"items": [
{
"question_id": 11260172,
"tags": [
{ "tag_id" : 1},
{ "tag_id" : 2},
{ "tag_id" : 3}
],
"view_count": 1,
[...]
}
タグ リソースは次のようになります。
{
"items": [
{
"id": 1,
"name": "c#",
},
{
"id": 2,
"name": "java",
},
{
"id": 3,
"name": "php",
}]
}
質問とタグの間に結合テーブルを作成して、質問に多くのタグを付け、タグに多くの質問を含めることができるようにします。
1対多の作業はできましたが、多対多の結合テーブルではありません。したがって、RestKit の多対多マッピングがこのような関係をどのように探すべきか、またデータ モデルがどのように見えるべきか疑問に思います。
次のマッピングを試しましたが、多対多ではありません。
[tagMapping mapKeyPath:@"id" toRelationship:@"questions" withMapping:tagsQuestionsMappingMapping];
[questionMapping mapKeyPath:@"tags" toRelationship:@"tags" withMapping:tagsQuestionsMappingMapping];