sequelize其中x2嵌套等于变量

问题描述 投票:0回答:1

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

说明:

  • 用语言:

我试图根据表中的值过滤我的结果,该表与表I相关联,表与我试图过滤的模型相关联。

  • 协会图形:

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'错误。

我可以在这里得到一些指导吗?

reference nested include sequelize.js where
1个回答
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
                },
            ]
        },
    ]
});

required:true param in include扮演重要角色,仅包括那些包含其中的订单

同样在你的代码中,我没有看到include选项,但你正在使用包含属性['$ MiddleModel.LastModel.property $']的条件:VARIABLE

© www.soinside.com 2019 - 2024. All rights reserved.