相关疑难解决方法(0)

Sequelize 使用急切加载的模型创建子查询的顶级

我遇到了一个问题,Sequelize 创建主模型的子查询,然后将包含与该子查询连接起来,而不是直接与主模型表连接。包含的查询条件最终位于子查询的 WHERE 子句中,这使其无效。我已经缩短了名字,希望能保持这种紧凑,而不会丢失任何相关信息。

环境:Nodejs: 6.11.3 Sequelize: 3.23.6 => 更新到 4.38.1 问题依旧 MySql: 5.7.23

代码截图模型:

I.model:
   models.I.hasMany(models.II);
   models.I.belongsTo(models.CJ);
   models.I.belongsTo(models.CJS);
II.model:
   models.II.belongsTo(models.I);
CJ.model:
   models.CJ.hasMany(models.I);
   models.CJ.hasMany(models.CJS);
CJS.model:
    models.CJS.hasMany(models.I);
Run Code Online (Sandbox Code Playgroud)

代码片段查询定义:

let where = { cId: '2',
iAmt: { '$gt': 0 },
'$or': 
 [ { '$CJ.a1$': {$like: '%246%'}} },
   { '$CJ.a2$': {$like: '%246%'} },
   { '$I.cPN$': {$like: '%246%'} } 
 ] };

 let query = {
   where: where,
   order: orderBy,
   distinct: true,
   offset: offset,
   limit: limit,
   include: [
   {
    model: CJ, 
    as: 'CJ',
    required: false …
Run Code Online (Sandbox Code Playgroud)

subquery eager-loading sequelize.js

1
推荐指数
1
解决办法
1274
查看次数

标签 统计

eager-loading ×1

sequelize.js ×1

subquery ×1