我想更新字段'所有者'一个模型。需要从包含当前登录用户并正在创建模型的会话中提取所有者。
我想要这样的事情:
Model = {
attributes: {
},
beforeCreate(values,next)
{
var owner_user_id = req.session.user_id;
values.owner = owner_user_id;
next();
}
}
答案 0 :(得分:6)
您确定生命周期回调是正确的地方吗?因为它真的不是。如果明天您需要在CLI任务中使用您的模型或其他无会话的东西怎么办?此外,随着协会API的到来,可能会有更优雅的方式来实现它,但仍然在模型之外。所以,现在我只是将你的引用视为一个简单的值,在动作中设置它(从你可以访问req.session
的地方)并传递给构造函数以及其他属性,如:
...
// Controller code
module.exports = {
index: function(req, res) {
// Whatever gets you the values...
values.owner = req.session.user_id;
Model.create(values, function(err, model) {...});
},
// Other actions
}
...