SailsJs:如果我需要混合来自2个不相关模型的数据,我应该在模型内还是在Controller中进行?

时间:2015-08-21 13:55:35

标签: model-view-controller sails.js

我有2个型号:

  • 产品
  • 货币

数据库中两个模型的相应表之间没有关系(并且不应该存在)。

当我要求产品时,我需要以多种货币退回价格。为此,我需要使用货币模型从数据库中读取所有货币。

我应该从产品控制器中的方法中的两个模型中选择记录,然后使用从数据库中读取的对象的属性计算价格,还是应该从内部读取货币产品型号中的方法然后执行相同的操作?

1 个答案:

答案 0 :(得分:2)

您的优先事项应该是1)消除代码重复和2)以易于维护的方式组织代码。如果每次查找产品时,您还希望其价格为多种货币,那么名为Product的{​​{1}}类方法非常合适。如果只需要findProductWithPrices中的一个端点,那么将逻辑放在控制器中可能会更容易跟踪。

根据您最终执行这些计算的频率,另一个选项是将ProductController属性添加到prices类型的Product,并将其设置为缓存的货币字典 - >价格。然后,您只需在产品价格发生变化时进行这些计算(并更新json)。