0

mysql に車とエンジンの 2 つのテーブルがあるとします。

Cars テーブルの行には、次の構造があります。

  • id: 整数
  • engineIdengines.id: int (列への外部キー)
  • brand: ストリング

Engines テーブルの行は次のとおりです。

  • id: 整数,
  • type: 文字列 (電気エンジンとディーゼル エンジンがあるとします)

したがって、これらのテーブルからすべてのデータを取得し、クライアント側でモデル コレクションを作成し、最後にマージされた結果を含むテーブルを表示したいと考えています。

  • 車のID
  • ブランド名
  • エンジン型式

だから、私は多くの例を試しましたが、私が間違っていることを理解できません。お手伝いできますか?

// Create car model
window.Car = Backbone.RelationalModel.extend({

});

// Create engine model
window.Engine = Backbone.RelationalModel.extend({
  relations: [{
    type: 'HasMany',
    key: 'cars',
    relatedModel: 'Car',
    reverseRelation: {
      key: 'engine',
      includeInJSON : 'engineId',
    }
  }]
});

// Create engine instance
var engine = new window.Engine({
  id : 1,
  type : 'electric',
});

// Create car instance
var car = new window.Car({
  id       : 1,
  brand    : 'Toyota',
  engineId : 1, 
});

// i expect to get 'electric'
console.log(car.getRelation('engine').type); 
4

1 に答える 1

1

これを試して:

// Create car model
var Car = Backbone.RelationalModel.extend({
});

// Create engine model
var Engine = Backbone.RelationalModel.extend({
    relations: [{
        type: 'HasMany',
        key: 'cars',
        relatedModel: Car,
        reverseRelation: {
            key: 'engine'
        }
    }]
});

// Create engine instance
var engine = new Engine({
  id : 1,
  type : 'electric'
});

// Create car instance
var car = new Car({
  id       : 1,
  brand    : 'Toyota',
  engine   : 1
});

// get 'electric'
console.log(car.get('engine').get('type'));
于 2013-07-29T13:51:10.067 に答える