如何使用loopback实现多语言模型

时间:2018-01-15 09:13:23

标签: json node.js strongloop loopback

我想构建一个包含strongloop loopback的API,其中包含具有多个语言字符串的模型。 例如。拥有多种语言标题的产品。

我喜欢存储像

这样的对象
{
  "price": 10
  "title": {
    "en": "englishTitle",
    "de": "germanTitle"
  }
}

在loopback中定义这样的模型的最佳方法是什么?

谢谢!

1 个答案:

答案 0 :(得分:1)

将相关模型用于多语言标题。因此,您掌握了模型,例如Product使用Title关系具有相关模型hasMany。您可以查询特定产品的所需语言标题。这是一个可能的例子。

模型Product

{
  "name": "Product",
  "base": "PersistedModel",
  "idInjection": true,
  "properties": {
    "price": {
      "type": "number"
    },
    "defaultTitle": {
      "type": "string"
    }
  },
  "validations": [],
  "relations": {
    "titles": {
      "type": "hasMany",
      "model": "Title",
      "foreignKey": ""
    }
  },
  "acls": [],
  "methods": {}
}

模型Title

{
  "name": "Title",
  "base": "PersistedModel",
  "idInjection": true,
  "properties": {
    "language": {
      "type": "string"
    },
    "title": {
      "type": "string"
    }
  },
  "validations": [],
  "relations": {
    "product": {
      "type": "belongsTo",
      "model": "Product",
      "foreignKey": ""
    }
  },
  "acls": [],
  "methods": {}
}

然后,您可以查询Product,包括相关的Title,并使用所需语言进行过滤。 defaultTitle当然是可选的。