Обновление asyn c (params, data, {files} = {}) не работает - PullRequest
0 голосов
/ 06 февраля 2020

мой проект был создан с помощью 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 голосов
/ 09 февраля 2020

Контроллеры, сгенерированные Strapi, основаны на функции контроллера shadow core.

Если вы хотите настроить функцию по умолчанию, вы можете обратиться к этой документации: https://strapi.io/documentation/3.0.0-beta.x/concepts/controllers.html#core -controllers

Я только что попробовал, и он отлично работает.

...