ember.js - Ember-data get "belongsTo" attr (id) from model without resolving the actual object -


i want models attribute (id) "belongsto" without forcing server call or resolving object. got memberships having user. users loaded , want make server call of users. updated ember-data 1.13.4 , old version is't working anymore.

memberships:

user: ds.belongsto('user', { async: false }), 

until did check if users in store:

if (this.store.peekrecord('user', parseint(membership._internalmodel._data.user)) === null)       return false; 

but new ember-data update _data not include anymore belongsto - ids.

ends in on progress:

error while processing route: workgroups assertion failed: looked 'user' relationship on 'membership' id 21 of associated records not loaded. 

i really appreciate every on this.

thx

found it. based on answer:

ember-data: how tell if model's async: true relationship loaded without triggering load?

i able figure out ember-data 1.13.4 solution:

membership._internalmodel._relationships.initializedrelationships.user.canonicalstate.id 

this ugly. better ideas?

edit: can used extend ds.model function:

import ds 'ember-data';  export default {   name: 'model-getid',   initialize: function() {     ds.model.reopen({       getid: function(key) {         // todo(sn): support hasmany         const rel = this._internalmodel._relationships.initializedrelationships;         return rel && rel[key] && rel[key].canonicalstate && rel[key].canonicalstate.id;       }     });   } }; 

now it's possible on single relation:

membership.getid('organisation') 

Comments