【发布时间】:2014-10-28 00:24:50
【问题描述】:
我试图优化我的应用程序。我有一个模型Job 有很多Todos。从后端获取所有作业效率不高,因为目前我正在序列化所有的 todo_ids 有很多关系。在我看来,ember-data 应该能够以使用 job_id 作为外键的方式设置 hasMany 关系。
export default DS.Model.extend({
name: DS.attr('string'),
todos: DS.hasMany('todo', {async: true})
})
如何设置todos 关系,使网址默认为类似。
job = this.store.find('job',1) //api/jobs/1
job.get('todos') //api/todo?job=1
【问题讨论】:
-
当你让它异步为真时。 Ember 会在获取作业后自动进行查询。查询的 URL 可能如下所示
/todos?ids=[1,2,7,8]其中 1,2,7 和 8 个 todo_ids 用于获取的作业 -
是的,这是低效的部分。当您可以按 job_id 过滤时,IMO 没有必要序列化所有 todo_ids。就像描述的jsonapi.org/format/#urls-relationships
-
好点。我希望这在未来的 ember 数据版本中得到实施。
标签: ember.js ember-data