异步更新(参数,数据,{文件} = {})不起作用

时间:2020-02-05 22:05:05

标签: strapi

我的项目是用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 }));
  },

谢谢!

1 个答案:

答案 0 :(得分:0)

Strapi生成的控制器基于影子core控制器功能。

如果要自定义默认功能,可以参考此文档:https://strapi.io/documentation/3.0.0-beta.x/concepts/controllers.html#core-controllers

我刚刚尝试过,效果很好。