Model.create 不是函数 - strapi
Model.create is not a function - strapi
我在 strapi 的管理员中创建模型时有一些独特的字段 ui。
我意识到,如果在 api 调用期间未提供字段,它将给出错误消息 500
而不是正确的错误消息。
我明白为什么会出现错误,因为我可以在后端控制台中看到登录信息,并且我已经浏览了 https://github.com/strapi/strapi/issues/1189 and https://github.com/strapi/strapi/issues/1175
等帖子
阅读这些问题后,我认为最好的方法是去 /api/controllers
并创建一个函数,例如 create
来覆盖提供的函数,但我得到一个错误 Model.create is not a function
我还没有在控制器中做太多事情,所以代码很少。
module.exports = {
/* Strapi has default create function
* But because of the error message it provide is vague, will have to customize the controller */
create: async (ctx) => {
try {
console.log(ctx.request.body, 'ctx');
const article = await Article.create(ctx.request.body);
console.log(article, 'article');
} catch (e) {
console.log(e, 'error');
}
}
};
我已阅读问题单https://github.com/strapi/strapi/issues/1505
但我正在使用
strapi: 3.0.0-beta.17.5
节点:v10.17.0
npm:6.11.3
数据库:sqlite3(本地)postgresql(暂存)
有人知道我可能做错了什么吗?
在此先感谢您的帮助和建议。
我建议您在此处检查默认控制器功能https://strapi.io/documentation/3.0.0-beta.x/concepts/controllers.html#extending-a-model-controller
您将了解如何使用服务函数创建条目。
我不建议你使用模型全局变量。
const { parseMultipartData, sanitizeEntity } = require('strapi-utils');
module.exports = {
/**
* Create a record.
*
* @return {Object}
*/
async create(ctx) {
let entity;
if (ctx.is('multipart')) {
const { data, files } = parseMultipartData(ctx);
entity = await strapi.services.restaurant.create(data, { files });
} else {
entity = await strapi.services.restaurant.create(ctx.request.body);
}
return sanitizeEntity(entity, { model: strapi.models.restaurant });
},
};
我在 strapi 的管理员中创建模型时有一些独特的字段 ui。
我意识到,如果在 api 调用期间未提供字段,它将给出错误消息 500
而不是正确的错误消息。
我明白为什么会出现错误,因为我可以在后端控制台中看到登录信息,并且我已经浏览了 https://github.com/strapi/strapi/issues/1189 and https://github.com/strapi/strapi/issues/1175
等帖子阅读这些问题后,我认为最好的方法是去 /api/controllers
并创建一个函数,例如 create
来覆盖提供的函数,但我得到一个错误 Model.create is not a function
我还没有在控制器中做太多事情,所以代码很少。
module.exports = {
/* Strapi has default create function
* But because of the error message it provide is vague, will have to customize the controller */
create: async (ctx) => {
try {
console.log(ctx.request.body, 'ctx');
const article = await Article.create(ctx.request.body);
console.log(article, 'article');
} catch (e) {
console.log(e, 'error');
}
}
};
我已阅读问题单https://github.com/strapi/strapi/issues/1505
但我正在使用
strapi: 3.0.0-beta.17.5
节点:v10.17.0
npm:6.11.3
数据库:sqlite3(本地)postgresql(暂存)
有人知道我可能做错了什么吗?
在此先感谢您的帮助和建议。
我建议您在此处检查默认控制器功能https://strapi.io/documentation/3.0.0-beta.x/concepts/controllers.html#extending-a-model-controller
您将了解如何使用服务函数创建条目。
我不建议你使用模型全局变量。
const { parseMultipartData, sanitizeEntity } = require('strapi-utils');
module.exports = {
/**
* Create a record.
*
* @return {Object}
*/
async create(ctx) {
let entity;
if (ctx.is('multipart')) {
const { data, files } = parseMultipartData(ctx);
entity = await strapi.services.restaurant.create(data, { files });
} else {
entity = await strapi.services.restaurant.create(ctx.request.body);
}
return sanitizeEntity(entity, { model: strapi.models.restaurant });
},
};