【问题标题】:node.js sequelize associations, include on conditionnode.js 续集关联,包括条件
【发布时间】:2013-05-27 17:47:57
【问题描述】:

是否可以在 findAll 查询的包含数组中传递条件?

例如,我有 UsersModel、PostsModel 和 UserVotesModel。

用户可以对帖子进行投票。

对于已登录的用户,我想查询帖子并仅包括当前用户的投票。我无法使用 Sequelize 的包含参数来做到这一点。 Sequelize 在 postId 上加入帖子和 UserVotes,但对于这个特定的查询,我想在 postId 和 UserId 上加入。

任何想法如何解决这个问题?

【问题讨论】:

    标签: node.js orm sequelize.js


    【解决方案1】:

    我刚刚检查了 Sequelize 源代码。这是不可能的!

    【讨论】:

      【解决方案2】:

      如果您包含带有 where 条件的模型(默认要求为 true),但如果您将其标记为 false 以向左外连接关联

      Post.findAll({
        where: {
          user_id: current_user_id
        },
        include: [
        {
          model: UserVote,
          where: {
            'user_id':  current_user_id
          },
          required: false
        }]
      })
      

      【讨论】:

        猜你喜欢
        • 2015-03-26
        • 2015-07-27
        • 1970-01-01
        • 2015-05-10
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2017-05-30
        相关资源
        最近更新 更多