0

我正在使用 Strapi 作为原型,我遇到了以下问题。我创建了一个新的内容类型“清单”,并使用 users-permissions 插件提供的 User 模型在其中添加了一个关系属性 1 to many。然后我想在生命周期回调中添加一些自定义逻辑,在 beforeSave 和 beforeUpdate 中,我想从中访问分配给清单的用户。

代码如下所示:

{
var self = module.exports = {
  // Before saving a value.
  // Fired before an `insert` or `update` query.

  generateLabel : (model) => {
    var label = "";

    var day = _moment(model.date,_moment.ISO_8601).year();
    var month = _moment(model.date,_moment.ISO_8601).day();
    var year = _moment(model.date,_moment.ISO_8601).month();

    console.log(model);
    if (model.user) {
      label = `${model.user}-${year}-${month}-${day}`;
    }else{
      label = `unassigned-${year}-${month}-${day}`;
    }

    return label;

我从回调中调用方法 generateLabel。它有效,但我的 model.user 总是返回未定义。它是一个 1-n 属性。我可以毫无问题地访问 model.date 属性(我创建的字段之一),所以我猜 pbs 与我为填充用户关系而必须做的事情有关,但我不确定如何继续。

当我记录模型对象时,控制台显示我猜是一个完整的猫鼬对象,但我不确定从那里去哪里,就好像我试图访问我在控制台中看到的属性一样,我总是会到达一个未定义的。

提前感谢您的时间,我使用以下

Strapi:3.0.0-alpha.13.0.1 nodejs:v9.10.1 mongodb:3.6.3 macos high sierra

4

2 回答 2

0

这是因为没有发送关系属性create(请参阅您的checklist服务add功能)。

关系在另一个函数中处理updateRelations

values您可以做的就是发送Checklit.create()

于 2018-08-26T13:22:03.323 回答
0

也遇到类似/相同的问题,我认为这与用户权限插件有关,并且必须使用它来访问用户模型。或者我考虑过尝试查找与新创建记录的 id 关联的用户。我正在尝试使用 AfterCreate。任何可以对此有所了解的人都会很棒!

于 2018-07-31T07:02:14.327 回答