0

私のAPIでは、次のようなJSON出力があります。

{
"restaurants": [{
    "Restaurant": {
        "id": "3",
        "name": "...",
        "slug": "...",
        "phone": "2161234567",
        "address": "...",
        "city_id": "34",
        "county_id": "426",
        "discount_type_id": null,
        "discount": "",
        "people_limit": "2",
        "reservations_required": false,
        "lat": "41.015608",
        "lon": "28.934834",
        "about": "...",
        "logo": "...",
        "logo_dir": "3",
        "photo_1": "...",
        "photo_2": null,
        "photo_3": null,
        "photo_dir": "3",
        "created": "2012-11-30 16:30:21",
        "modified": "2012-11-30 20:43:50",
        "deleted": true
    },
    "AvailabilityRestriction": [{
        "id": "1",
        "title": "...",
        "AvailabilityRestrictionRestaurant": {
            "id": "28",
            "restaurant_id": "3",
            "availability_restriction_id": "1"
        }
    }],
    "CuisineTag": [{
        "id": "3",
        "name": "...",
        "CuisineTagRestaurant": {
            "id": "47",
            "restaurant_id": "3",
            "cuisine_tag_id": "3"
        }
    }]
},

...
}

レストランには多くの cooking_tags と可用性の制限があります。また、都市テーブルもあります...それらを同期する最良の方法は何ですか?

最初に都市、cuisine_tags、availability_restrictions を同期する必要があります。次に、レストランを作成するときにそれらを一致させますか? これは正しい方法ですか?

ありがとう。

4

1 に答える 1

0

私ならこうします……。

レストラン オブジェクト内にすべての「レストラン」プロパティ (制限、料理タグなど) を含める必要があります。

次に例を示します。

{
    "Restaurants" : [
        { 
            "id" : "3",
            "name" : "...",
            "slug" : "...",
            "phone" : "2161234567",
            "address" : "...",
            "city_id" : "34",
            "county_id" : "426",
            "discount_type_id" : null,
            "discount" : "",
            "people_limit" : "2",
            "reservations_required" : false,
            "lat" : "41.015608",
            "lon" : "28.934834",
            "about" : "...",
            "logo" : "...",
            "logo_dir" : "3",
            "photo_1" : "...",
            "photo_2" : null,
            "photo_3" : null,
            "photo_dir" : "3",
            "created" : "2012-11-30 16:30:21",
            "modified" : "2012-11-30 20:43:50",
            "deleted" : true,
            "AvailabilityRestrictions" : [
                {
                    "id" : "1",
                    "title" : "..."
                },
                {
                    "id" : "2",
                    "title" : "..."
                }
            ],
            "CuisineTags" : [
                {
                    "id" : "3",
                    "name" : "..."
                }
            ]
        }
    ]
}

「Restaurant」オブジェクトも削除します。不要です。レストランという配列があるとします。レストランを入れたり入れたりしたいだけです。

あなたの質問にはもっと多くのことがあったと思いますが、あなたが何を必要としているのか理解できませんでした。Core Data でそれらの間の関係を設定する方法について話しているのですか?

cruisine タグと都市の間の関係を設定しようとしている場合、または JSON 応答をループすることができ、属性の 1 つがリストである場合、リストを特定して正しい管理対象をフェッチできるため、これが最善の方法だと思います。反対し、関係を作成します。

ただし、明確にするために、これらの都市、事前定義されたクルーズタグは別のリクエストで保持する必要があります。API をシンプルかつ柔軟に保ちたい。

于 2012-12-19T22:51:24.673 に答える