home
  • Blog
  • Home
  • Projects
    • Ember
    • EmberData
    • Ember CLI
3.28
  • Packages
    • @ember-data/adapter
    • @ember-data/adapter/error
    • @ember-data/adapter/json-api
    • @ember-data/adapter/rest
    • @ember-data/canary-features
    • @ember-data/debug
    • @ember-data/deprecations
    • @ember-data/model
    • @ember-data/record-data
    • @ember-data/serializer
    • @ember-data/serializer/json
    • @ember-data/serializer/json-api
    • @ember-data/serializer/rest
    • @ember-data/store
  • Classes
    • AbortError
    • Adapter
    • AdapterError
    • AdapterPopulatedRecordArray
    • BelongsToReference
    • BooleanTransform
    • BuildURLMixin
    • ConflictError
    • DateTransform
    • EmbeddedRecordsMixin
    • Errors
    • ForbiddenError
    • HasManyReference
    • IdentifierCache
    • InvalidError
    • JSONAPIAdapter
    • JSONAPISerializer
    • JSONSerializer
    • ManyArray
    • MinimumAdapterInterface
    • MinimumSerializerInterface
    • Model
    • NotFoundError
    • NumberTransform
    • PromiseArray
    • PromiseManyArray
    • PromiseObject
    • RESTAdapter
    • RESTSerializer
    • RecordArray
    • RecordDataDefault
    • RecordDataStoreWrapper
    • RecordReference
    • Reference
    • Serializer
    • ServerError
    • Snapshot
    • SnapshotRecordArray
    • StableRecordIdentifier
    • Store
    • StringTransform
    • TimeoutError
    • Transform
    • UnauthorizedError

Class Reference public


Defined in: ../store/addon/-private/system/references/reference.ts:40
Module: @ember-data/store

This is the baseClass for the different References like RecordReference/HasManyReference/BelongsToReference


Methods

link : String public

Module: @ember-data/store

Defined in ../store/addon/-private/system/references/reference.ts:111

returns
String

The link Ember Data will use to fetch or reload this belongs-to relationship.

The link Ember Data will use to fetch or reload this belongs-to relationship. By default it uses only the "related" resource linkage.

Example

// models/blog.js
import Model, { belongsTo } from '@ember-data/model';
export default Model.extend({
   user: belongsTo({ async: true })
 });

let blog = store.push({
   data: {
     type: 'blog',
     id: 1,
     relationships: {
       user: {
         links: {
           related: '/articles/1/author'
         }
       }
     }
   }
 });
let userRef = blog.belongsTo('user');

// get the identifier of the reference
if (userRef.remoteType() === "link") {
   let link = userRef.link();
 }

meta : Object public

Module: @ember-data/store

Defined in ../store/addon/-private/system/references/reference.ts:168

returns
Object

The meta information for the belongs-to relationship.

The meta data for the belongs-to relationship.

Example

// models/blog.js
import Model, { belongsTo } from '@ember-data/model';
export default Model.extend({
   user: belongsTo({ async: true })
 });

let blog = store.push({
   data: {
     type: 'blog',
     id: 1,
     relationships: {
       user: {
         links: {
           related: {
             href: '/articles/1/author'
           },
           meta: {
             lastUpdated: 1458014400000
           }
         }
       }
     }
   }
 });

let userRef = blog.belongsTo('user');

userRef.meta() // { lastUpdated: 1458014400000 }

remoteType : String public

Module: @ember-data/store

Defined in ../store/addon/-private/system/references/reference.ts:61

returns
String

The name of the remote type. This should either be "link" or "ids"

This returns a string that represents how the reference will be looked up when it is loaded. If the relationship has a link it will use the "link" otherwise it defaults to "id".

Example

app/models/post.js
import Model, { hasMany } from '@ember-data/model';

export default Model.extend({
  comments: hasMany({ async: true })
});
let post = store.push({
  data: {
    type: 'post',
    id: 1,
    relationships: {
      comments: {
        data: [{ type: 'comment', id: 1 }]
      }
    }
  }
});

let commentsRef = post.hasMany('comments');

// get the identifier of the reference
if (commentsRef.remoteType() === "ids") {
  let ids = commentsRef.ids();
} else if (commentsRef.remoteType() === "link") {
  let link = commentsRef.link();
}
On this page


Methods

  • link
  • meta
  • remoteType
Team Sponsors Security Legal Branding Community Guidelines
Twitter GitHub Discord Mastodon

If you want help you can contact us by email, open an issue, or get realtime help by joining the Ember Discord.

© Copyright 2025 - Tilde Inc.
Ember.js is free, open source and always will be.


Ember is generously supported by
blue Created with Sketch.