我的项目是用Strapi 3.0.0-beta.18.6创建的。 但是在内容类型“订单”的服务中,(新)“更新”方法不起作用,仅(旧)“编辑”方法起作用。 有人可以给我小费吗?
// ---------------- "update" does not work :( ------------------
async update(params, data, { files } = {}) {
const query = strapi.query('order');
const entry = await query.update(params, data);
if (files) {
// automatically uploads the files based on the entry and the model
await this.uploadFiles(entry, files, { model: strapi.models.order });
return this.findOne({ id: entry.id });
}
return entry;
},
顺便说一句,query.update(params, data);
无法执行,该过程被取消,但是没有错误消息。
// ---------------- old "edit" works ------------------
async edit (params, values) {
// Extract values related to relational data.
const relations = _.pick(values, Order.associations.map(ast => ast.alias));
const data = _.omit(values, Order.associations.map(ast => ast.alias));
// Create entry with no-relational data.
const entry = Order.forge(params).save(data);
// Create relational data and return the entry.
return Order.updateRelations(Object.assign(params, { values: relations }));
},
谢谢!
答案 0 :(得分:0)
Strapi生成的控制器基于影子core
控制器功能。
如果要自定义默认功能,可以参考此文档:https://strapi.io/documentation/3.0.0-beta.x/concepts/controllers.html#core-controllers
我刚刚尝试过,效果很好。