gpt4 book ai didi

javascript - Model.create 不是一个函数 - Strapi

转载 作者:行者123 更新时间:2023-12-02 22:26:50 24 4
gpt4 key购买 nike

在 Strapi 的管理用户界面中创建模型时,我有一些独特的字段。

我意识到,当 api 调用期间未提供字段时,它会给出 500 错误消息,而不是正确的错误消息。

我确实明白为什么会出现错误,因为我可以在后端控制台中看到日志,并且我已经扫描了诸如 https://github.com/strapi/strapi/issues/1189 之类的帖子和 https://github.com/strapi/strapi/issues/1175

阅读这些问题后,我相信最好的方法是转到 /api/controllers 并创建一个函数,例如 create 来覆盖提供的函数,但我得到了一个Model.create 不是一个函数的错误

我还没有在 Controller 中做太多事情,所以代码很精简。

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但我正在使用斯特皮:3.0.0-beta.17.5节点:v10.17.0npm:6.11.3数据库:sqlite3(本地)postgresql(登台)

有人知道我可能做错了什么吗?

预先感谢您的任何帮助和建议。

最佳答案

我建议你在这里检查默认 Controller 功能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 });
},
};

关于javascript - Model.create 不是一个函数 - Strapi,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59040176/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com