2016-04-25 7 views
5

たとえば、という表があり、それぞれがmodelmakeです。車にはそれぞれ1つのみがあり、modelsmakesのテーブルがあり、それらのIDは自動生成されます。 carsテーブルでこれを参照できますか? JSONの外観はどうですか?スキーマで1対1の関係をモデル化する方法は?

私はcarsテーブルに新しいフィールドを作成し、「経由」テキストボックスにidを指定しようとしたが、それだけで、対応するテーブルの新しい列、ID1を作成します。適切な方法がありますか?ここで

は私のサンプル・スキーマのJSONです:戻る&で

{ 
    "name": "cars", 
    "fields": { 
     "model": { 
     "object": "models" 
     }, 
     "make": { 
     "object": "makes" 
     } 
    } 
    }, 
    { 
    "name": "models", 
    "fields": { 
     "title": { 
     "type": "string" 
     }, 
     "make": { 
     "object": "makes" 
     }, 
     "id": { 
     "collection": "cars", 
     "via": "model" 
     } 
    } 
    }, 
    { 
    "name": "makes", 
    "fields": { 
     "models": { 
     "collection": "models", 
     "via": "make" 
     }, 
     "title": { 
     "type": "string" 
     }, 
     "id": { 
     "collection": "cars", 
     "via": "make" 
     } 
    } 
    } 

答えて

3

が定義上には1対1の関係はありませんが、我々はあなたが探している一対多であり、あなたはほとんどそれを得ました、下記のモデルを参照してください。 以下のモデルでは、車は単一のモデルとシングルメイクを持つことができます(もちろん、多くの車がメーカやモデルに多数搭載可能です)。

{ 
    "name": "cars", 
    "fields": { 
    "model": { 
     "object": "models" 
    }, 
    "make": { 
     "object": "makes" 
    } 
    } 
}, 
{ 
    "name": "models", 
    "fields": { 
    "cars": { 
     "collection": "cars", 
     "via": "model" 
    }, 
    "title": { 
     "type": "string" 
    }, 
    "make": { 
     "object": "makes" 
    } 
    } 
}, 
{ 
    "name": "makes", 
    "fields": { 
    "cars": { 
     "collection": "cars", 
     "via": "make" 
    }, 
    "models": { 
     "collection": "models", 
     "via": "make" 
    }, 
    "title": { 
     "type": "string" 
    } 
    } 
} 
関連する問題