Chciałbym, aby baffle.where({id: 1}).fetch()
zawsze otrzymywał atrybut typeName
jako część modelu baffle
, bez pobierania go z baffleType
jawnie za każdym razem.Zawsze pobieraj z pokrewnych modeli w Bookshelf.js
następujące prace dla mnie, ale wydaje się, że withRelated
załaduje stosunki jeśli baffle
model jest pobierany bezpośrednio, a nie przez zależność:
let baffle = bookshelf.Model.extend({
constructor: function() {
bookshelf.Model.apply(this, arguments);
this.on('fetching', function(model, attrs, options) {
options.withRelated = options.withRelated || [];
options.withRelated.push('type');
});
},
virtuals: {
typeName: {
get: function() {
return this.related('type').attributes.typeName;
}
}
},
type: function() {
return this.belongsTo(baffleType, 'type_id');
}
});
let baffleType = bookshelf.Model.extend({});
Co to jest właściwy sposób to zrobić?
Dzięki, nigdy nie jest za późno. – estus