在x2嵌套相等变量的地方进行续集

时间:2019-02-27 12:21:03

标签: reference nested include sequelize.js where

我不明白如何执行以下查询:

说明:

  • 换句话说:

我正在尝试根据表中的值过滤结果,表中的值与表相关,表与我要过滤的模型相关。

  • 关联图:

FilteredModel <-(hasMany)-MiddleModel-(hasone)-> LastModel

FilteredModel.findAll({
  where: {
    ...conditions,
    ['$MiddleModel.LastModel.property$']: VARIABLE
  }
});

我已经包含了必要的模型,并且在结果中获得了所寻求的财产的价值。

我只是不明白如何将其添加到where注意事项中。

我尝试了其他SOF答案中所建议的多种形式的示例,但收到了SequelizeDatabaseError: Unknown column 'FilteredModel->MiddleModel->LastModel.property' in 'where clause'错误。

我可以在这里提供一些指导吗?

1 个答案:

答案 0 :(得分:1)

嗨,尝试下面的代码-

Db.orders.findAll({
    where: { ORDER_CONDITION  },
    attributes: [ORDER ATTRIBUTES],
    include: [
        {
            where: { INNER1_WHERE },
            required: true,
            model: INNER1,
            include: [
                {
                    where: { INNER2_WHERE },
                    required: true,
                    model: INNER2
                },
            ]
        },
    ]
});

必填:true 包含中的参数起着重要作用,仅包含那些包含了包含在内的订单

在您的代码中,我也没有看到include选项,但是您在include属性上使用where条件 ['$ MiddleModel.LastModel.property $']:VARIABLE