我正在使用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>
当我记录模型对象时,控制台会显示我认为是完整的猫鼬对象,但是我不确定从那里去哪里,就好像我尝试访问控制台中看到的属性一样,我总是会到达一个未定义的。
在此先感谢您的时间,我使用以下内容
答案 0 :(得分:0)
也遇到类似/相同的问题,我认为这与用户权限插件有关,并且必须使用它来访问User模型。或者,我考虑过尝试查找与新创建的记录的ID相关联的用户。我正在尝试使用AfterCreate。任何可以对此有所了解的人都将很棒!
答案 1 :(得分:0)
这是因为关系属性不是以create
功能发送的(请参阅checklist
服务add
函数)。
关系在其他函数updateRelations
中处理。
您可以做的是在values
中发送Checklit.create()