0
想象一下,我們在mysql中有兩個表:汽車和引擎。骨幹關係,使用mysql數據表示模型作爲錶行
汽車錶行將會有以下藥結構:
id
:整數engineId
:INT(外鍵engines.id
列)brand
:字符串
引擎錶行本一個:
id
:INT,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);
是啊,這樣的作品,但是你有沒有在有關規定'任何地方engineId'場。這是否意味着,當我們自動爲'engineId'字段定義關鍵'引擎'主幹關係外觀時? – avasin
是的。並且你犯了三個錯誤:1)relatedModel:需要RM模型,2)engineId - 沒有在任何地方聲明,3)getRelation關係的返回規則 – Sergey
沒有看到你編輯的問題。 – Sergey