0

バックボーン リレーショナルを使用して 1 対 1 の関係を定義しようとする私の試み。

B依存関係や A の知識なしで定義されます

var B = Backbone.RelationalModel.extend({

    /* No relationship defined with A */

});

A次に、 との 1 対 1 の関係を定義しようとして、 が定義されますB

var A = Backbone.RelationalModel.extend({

    relations: [

        {

            type: Backbone.HasOne,

            key: 'b',

            relatedModel: B,

            reverseRelation: {

                key: 'a',

                type: Backbone.HasOne

            }

        }]

    /* ... */

});

バックボーンのリレーショナル ドキュメントには、1 対 1 の関係について次のように書かれています。

The default reverseRelation.type for a "HasOne" relation is "HasMany". This can be set to "HasOne" instead, to create a one-to-one relation.

この結果を調べると、私が行うとき

var someId = 123;

var myB = B.findOrCreate(someId);

var myA = A.findOrCreate(someId);

期待されるすべてのデータを使用して、両方のオブジェクトが正常に作成されmyAます。myB

ただし、関連するオブジェクトはありません。myA.bを参照したいのですmyBが、バックボーン リレーショナルがこのキーを作成したようですが、未定義のままです。

id「結合」が両方のクラスの属性を使用して行われることを意図しているとは指定していませんが、その方法がわかりません。

どうすればこれを達成できますか?

4

0 に答える 0