2014-12-04 33 views
0

我的学校模型有一个名称,地址等,以及一个用户对象。如何在“创建”中在sails.js/waterline中添加新字段?

School.js

module.exports = { 
    attributes: { 
    name: { 
     type: 'string', 
     required: true 
    }, 
    address: { 
     type: 'string' 
    }, 
    owner: { 
     model: 'user' 
    }, 
    ... 

当创建一个新的学校,我做到以下几点:

create: function(req, res, next) { 
    School.create(req.params.all(), function schoolCreated (err, school) { 

,但什么是新增的拥有者的最简单的方法(这登录后在发现在req.session.user上的会话)?

,我感到我可以做

create: function(req, res, next) { 
    School.create({'name': req.params.name, 'address': req.params.address, 'owner': req.session.user}, function schoolCreated (err, school) {... 

,但必须有一个更简单的方法。任何例子都会有很大的帮助! 非常感谢!

回答

1

我会自己回答这个问题。

它看起来就像是对我的作品的优雅的解决方案是使用Lo-Dash库与这样的用户合并请求参数:

var school = _.merge(req.params.all(), {'owner': req.session.user}); 

和新创建的学校变量传递给create方法。

School.create(school, function schoolCreated (err, school) {... 
相关问题