繁体   English   中英

如何在Ember中实施HABTM?

[英]How to implement a HABTM in Ember?

Ive拥有与http://guides.rubyonrails.org/association_basics.html#the-has-many-through-association中所述的相同的HABTM(有很多,属于很多)

在余烬数据中,如何定义医师,预约和患者之间的关系?

在Rails中,通过许多遍是很容易的。 或者,因为它正在从API中提取/发送数据,所以不需要在Ember中进行HABTM关联吗?

不幸的是, http://emberjs.com/guides/models/defining-models/#toc_many-to-many仅显示了与两个模型的多对多关联。

好吧,至少您需要在约会模型上添加几个“属于”关系:

App.Appointment = DS.Model.extend({
  ...
  physician: DS.belongsTo('physician'),
  patient: DS.belongsTo('patient'),
  ...
});

因此,无论何时保存约会,约会的子关系都将随之保存。 我假设这就是您想要的,因为这就是您发布到Rails指南的链接中数据库的结构。

其余部分在很大程度上取决于应用程序的结构,尤其是服务器的JSON API。 例如,如果您有一名模型physician并且您可以执行以下操作:

var query = { physician: physician.get('id') };
this.get('store').findQuery('appointment', query).then(function (results) {
  ...
});

然后,如果您想查找所有医师的患者,则可以简单地返回一系列属于所找到约会的独特患者。 这种方法非常简单易懂,但并没有充分利用Ember Data。

或者,您可以尝试在医师和患者模型上定义一个“多对多”的关系: appointments: DS.hasMany('appointment') ,它虽然有一些优点,但也需要对Ember Data有更好的了解。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM