Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ember.js/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ember.js 余烬数据多对多共享项_Ember.js_Ember Data - Fatal编程技术网

Ember.js 余烬数据多对多共享项

Ember.js 余烬数据多对多共享项,ember.js,ember-data,Ember.js,Ember Data,我有一个用户表和一个项目表,每个用户拥有一些项目 因此,用户1可能拥有ID为[1,2,3]的项目 用户2拥有ID为[2,3,9,24]的项目 我如何根据余烬数据建立这种关系?我应该在用户中嵌入项目ID吗?我应该做一个新的表格来描述谁拥有什么?我如何在ember中定义和访问用户的项目?如果它取决于数据库是SQL还是noSQL,请为每种情况给出一个示例。数据库与此无关。它完全取决于您的服务端点(甚至没有那么重要,因为您可以转换数据以符合Ember data的期望) 基于所述结构的示例如下所示: 模型

我有一个用户表和一个项目表,每个用户拥有一些项目

因此,用户1可能拥有ID为[1,2,3]的项目 用户2拥有ID为[2,3,9,24]的项目


我如何根据余烬数据建立这种关系?我应该在用户中嵌入项目ID吗?我应该做一个新的表格来描述谁拥有什么?我如何在ember中定义和访问用户的项目?如果它取决于数据库是SQL还是noSQL,请为每种情况给出一个示例。

数据库与此无关。它完全取决于您的服务端点(甚至没有那么重要,因为您可以转换数据以符合Ember data的期望)

基于所述结构的示例如下所示:

模型定义 JSON响应 例如:

如果您要将这些项更改为异步的,则会有轻微的更改,但您可以仔细阅读

如果您真正关心能够遍历到用户的项目,那么您将遵循相同的模式在项目上添加一个
hasMany

App.User = DS.Model.extend({
  name: DS.attr(),  // some random field
  items: DS.hasMany('item')
});


App.Item = DS.Model.extend({
  users: DS.hasMany('user'),
  name: DS.attr()  // some random field
});
例如:

{
users:[
  {
    id: 1,
    name:'Billy Bob',
    items:[1,2]
  },
  {
    id: 2,
    name:'Billy Joel',
    items:[1,3]
  }
],
items:[
  {
    id: 1,
    name: "red"
  },
  {
    id: 2,
    name: "green"
  },
  {
    id: 3,
    name: "blue"
  }
 ]
}
App.User = DS.Model.extend({
  name: DS.attr(),  // some random field
  items: DS.hasMany('item')
});


App.Item = DS.Model.extend({
  users: DS.hasMany('user'),
  name: DS.attr()  // some random field
});