相关疑难解决方法(0)

Sails.js填充嵌套关联

我自己有一个关于Sails.js版本0.10-rc5中的关联的问题.我一直在构建一个应用程序,其中多个模型相互关联,我已到达我需要以某种方式嵌套关联的点.

有三个部分:

首先是博客文章,这是由用户编写的.在博客文章中,我想显示关联用户的信息,如用户名.现在,这里一切正常.直到下一步:我正在尝试显示与帖子相关的评论.

注释是一个单独的模型,称为Comment.每个人还有一个与之相关的作者(用户).我可以轻松地显示评论列表,但是当我想显示与评论​​相关的用户信息时,我无法弄清楚如何使用用户的信息填充评论.

在我的控制器中,我试图做这样的事情:

Post
  .findOne(req.param('id'))
  .populate('user')
  .populate('comments') // I want to populate this comment with .populate('user') or something
  .exec(function(err, post) {
    // Handle errors & render view etc.
  });
Run Code Online (Sandbox Code Playgroud)

在我的Post''show'动作中,我试图检索这样的信息(简化):

<ul> 
  <%- _.each(post.comments, function(comment) { %>
    <li>
      <%= comment.user.name %>
      <%= comment.description %>
    </li>
  <% }); %>
</ul>
Run Code Online (Sandbox Code Playgroud)

但是,comment.user.name将是未定义的.如果我尝试访问'user'属性,例如comment.user,它将显示它的ID.这告诉我,当我将评论与其他模型关联时,它不会自动将用户的信息填充到评论中.

任何理想的人都能妥善解决这个问题:)?

提前致谢!

PS

为了澄清,这就是我基本上在不同模型中建立关联的方式:

// User.js
posts: {
  collection: 'post'
},   
hours: {
  collection: 'hour'
},
comments: {
  collection: 'comment'
}

// Post.js
user: {
  model: 'user'
},
comments: …
Run Code Online (Sandbox Code Playgroud)

nested associations populate node.js sails.js

49
推荐指数
3
解决办法
3万
查看次数

标签 统计

associations ×1

nested ×1

node.js ×1

populate ×1

sails.js ×1