у меня есть рабочий пример кода с отношениями, но есть недостаток - магистраль заменяет мой внешний идентификатор связанной моделью, я хотел бы сохранить внешний идентификатор и добавить связанную модель с новым ключом. возможно ли это?
В следующем примере engineId будет заменен соответствующей моделью. Можно ли сохранить как engineId связанную модель с ключом «двигатель»?
window.Car = Backbone.RelationalModel.extend({
defaults : {
id : null,
brand : null,
engineId : null,
}
});
window.Engine = Backbone.RelationalModel.extend({
defaults : {
id : null,
type : null,
},
relations: [{
type : 'HasMany',
key : 'cars',
relatedModel : 'Car',
reverseRelation: {
key: 'engineId',
}
}]
});
var engines = new Backbone.Collection([
{id : 1, type : 'electric'},
{id : 2, type : 'diesel'},
], {model: window.Engine});
var cars = new Backbone.Collection([
{id : 1, brand : 'Toyota', engineId : 2},
{id : 2, brand : 'Ford', engineId : 2},
{id : 3, brand : 'Tesla', engineId : 1},
], {model: window.Car});
cars.each(function(car){
console.log(car.get('id'), car.get('brand'), car.get('engineId').get('type'));
});