Ember Data不允许hasMany关系中的重复条目

jd.*_*jd. 9 javascript ember.js ember-data

我有以下型号:

#order/model.coffee
Order = DS.Model.extend {
  line_items: DS.hasMany 'product', {async: true}
}
Run Code Online (Sandbox Code Playgroud)

在某些时候,我想将一些产品添加到订单中.我发现我只能添加一次产品,再添加相同的产品不起作用:

#product/route.coffee
...
actions:
    # Not actually my code but illustrates the problem
    addToCart: (product1, product2)->
      order = @modelFor 'order'
      console.log order.get('line_items.length') # prints 0

      order.get('line_items').pushObject product1
      console.log order.get('line_items.length') # prints 1

      order.get('line_items').pushObject product2
      console.log order.get('line_items.length') # prints 2

      order.get('line_items').pushObject product1
      console.log order.get('line_items.length') # prints 2

      order.get('line_items').pushObject product2
      console.log order.get('line_items.length') # prints 2


      ...
Run Code Online (Sandbox Code Playgroud)

问题是用户可能不止一次需要单个项目.表示该方法的最简单方法是使数组具有重复条目.看来Ember并没有让我为关系这样做.如何在关系中多次添加模型?

Loz*_*son 1

它们应该有一个id属性,然后它们将能够在同一个数组中共存,并且是同一产品类型的不同项目 - 具有相同的名称(除了 之外,所有属性都相同id)。

或者,您有一个代表产品类型的记录,然后有一个quantity属性来指定每种产品的数量。