例如,我已经创建了内容类型"项目"通过管理面板。在/api/item/services/Item.js
中,我看到了像
fetchAll: (params) => {
const convertedParams = strapi.utils.models.convertParams('item', params);
return Item
.find()
.where(convertedParams.where)
.sort(convertedParams.sort)
.skip(convertedParams.start)
.limit(convertedParams.limit)
.populate(_.keys(_.groupBy(_.reject(strapi.models.item.associations, {autoPopulate: false}), 'alias')).join(' '));
},
但未导入Item
,因此它是全局的。
Item
何时被创建?Item
和strapi.models.item
之间的区别是什么?item
模型的最佳方式是什么:服务,strapi.models.item
或Item
? 谢谢。
PS:如果Strapi的一位作者会读到这个,你能不能告诉你为什么要如此重视全球物体呢?答案 0 :(得分:2)
全局模型是在strapi-mongoose
或strapi-bookshelf
上创建的(取决于您使用的数据库)我们在此节点模块中创建模型实例。
他们之间没有区别Item
=== strapi.models.item
我认为您的中间件将具有动态逻辑,因此我建议您使用strapi.models
和strapi.plugins[plugin].models
。
您可以自定义模型的全局名称,以便更易于使用https://strapi.io/documentation/guides/models.html#settings
因此,全局名称可以更改,但不能更改strapi
对象中的路径。