Strapi - Как получить доступ к атрибутам компонента в afterSave - PullRequest
0 голосов
/ 08 апреля 2020

У меня проблемы с вызовом компонента изображения из моих моделей. Я использую компонентную функцию в Strapi, чтобы она предоставляла как img, так и заполнитель для всех моих других моделей. Проблема в том, что я не могу обновить компонент внутри модели.

Вот мой пример в модели / Статья. js Это пример, приведенный в Документах для создания слага

const slugify = require('slugify');
module.exports = {
  beforeSave: async (model, attrs, options) => {
    if (options.method === 'insert' && attrs.title) {
      model.set('slug', slugify(attrs.title, {lower: true,}));
    } else if (options.method === 'update' && attrs.title) {
      attrs.slug = slugify(attrs.title, {lower: true,});
    }
}

Используя ту же логику c, я смогу вызвать изображение, созданное мной при загрузке, и установить заполнитель, используя изображения 'ha sh. Проблема в том, что я не могу обновить заполнитель при загрузке изображения, и я полагаю, что это из-за модели компонента.

В приведенном ниже примере изображение успешно загружается, но заполнитель не обновляется

 if (options.method === 'insert' && attrs.img) {
      model.set(attrs.placeholder, `${attrs.img.hash}-thumb.svg`);
    } else if (options.method === 'update' && attrs.img) {
      attrs.placeholder = `${attrs.img.hash}-thumb.svg`
    }
  },

В этом примере я не могу загрузить изображение, так как мне сообщают об ошибке в FE из-за неопределенности img

    if (options.method === 'insert' && attrs.cover.img) {
      model.set(attrs.cover.placeholder, `${attrs.cover.img.hash}-thumb.svg`);
    } else if (options.method === 'update' && attrs.cover.img) {
      attrs.cover.placeholder = `${attrs.cover.img.hash}-thumb.svg`
    }
  },
...