0

我的学校模型有一个名称、地址等和一个用户对象的所有者。

学校.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) {...

但必须有更简单的方法。任何例子都会有很大帮助!太感谢了!

4

1 回答 1

1

我要自己回答这个问题。

看起来对我有用的优雅解决方案是使用Lo-Dash库将请求参数与用户合并,如下所示:

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

并将新创建的学校变量传递给该create方法。

School.create(school, function schoolCreated (err, school) {...
于 2014-12-05T03:23:46.133 回答