@galatians wrote:
Here’s my simple model. My API returns JSON:API responses including
links
properties so that Ember Data knows where to fetch relationship data.
models/structure.js
:import DS from 'ember-data'; export default DS.Model.extend({ name: DS.attr('string'), properties: DS.hasMany('property'), });
Say I’ve already fetched an Ember Data
structure
object and I want to fetch it’sproperties
:structure.get('properties')
Great! Ember Data uses this structure’s
links
data to build the URL to fetch only theproperties
for this particular structure. But now I want to add a query param to filter the data server side to get only properties of a certain type: eg.?filter[type]=string
. Normally to add query params I can do a manual query like:this.store.query('property', { filter: { type: 'string' } })
But this is loading all properties and I want to load just the properties for the
structure
. With nested relationship routes such as/api/structures/:structure_id/properties
just adding astructure_id: ID
param to thethis.store.query(
call won’t work because it will use the wrong API endpoint:/api/properties
.This seems like a pretty basic requirement for any JSON:API implementation? Is there no officially supported way to do this short of using this unmaintained addon: https://github.com/mdehoog/ember-data-has-many-query
Posts: 2
Participants: 2