Srapi-从生命周期回调模型参数中检索1-n属性

时间:2018-07-27 19:12:22

标签: node.js mongoose strapi

我正在使用Strapi作为原型,并且遇到了以下问题。我创建了一个新的内容类型“清单”,并在其中添加了一个由users-permissions插件提供的User模型给许多用户提供关联属性1。 然后我想在生命周期回调中的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总是返回undefined。这是一个1-n属性。我可以毫无问题地访问model.date属性(我创建的字段之一),因此我想Pbs与我必须做的事情有关,以填充用户关系,但是我不确定如何进行操作。 / p>

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

在此先感谢您的时间,我使用以下内容

strapi:3.0.0-alpha.13.0.1 nodejs:v9.10.1 mongodb的:3.6.3 macos高山脉

2 个答案:

答案 0 :(得分:0)

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

答案 1 :(得分:0)

这是因为关系属性不是以create功能发送的(请参阅checklist服务add函数)。

关系在其他函数updateRelations中处理。

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