2016-07-22 7 views
0

私は値を取得しようとしていると、この列が存在しないpostgres私を返します。私は決して対処できません。sequelize jsの関係の値を取得

は関係

"Group.participant.idが存在しない列":

User.belongsToMany(models.group, { as: 'Member', through: { model: models.participant, unique: false}, foreignKey: 'userId', constraints: false}); 

Group.belongsToMany(models.user, { as: 'Group', through: { model: models.participant, unique: false}, foreignKey: 'groupId', constraints: false }); 

Participant.belongsTo(models.user, { 
foreignKey: "userId", as: "Member" 
}); 

Participant.belongsTo(models.group, { 
foreignKey: "groupId", as: "Group" 
}); 

クエリ/ Sequelizejs:

const User = app.db_connect.postgres.models.user; 

Group.findAll({ 
    include: [ 
    { model: User, 
     as: 'Group', 
     where: { 
      "participant.id": idUser 
     } 
     // attributes: ['name'] 
    } 
    ]}) 
    .then(result => res.json(result)) 
    .catch(error => { 
     res.status(412).json({msg: error.message}); 
    }); 

}); 

クエリを生成:

Executing (default): SELECT "group"."id", "group"."name", "group"."isMain", "group"."privacy", "group"."description", "group"."img", "group"."createdAt", "group"."updatedAt", "group"."destroyTime", "group"."categoryId", "Group"."id" AS "Group.id", "Group"."name" AS "Group.name", "Group"."birthday" AS "Group.birthday", "Group"."cpf" AS "Group.cpf", "Group"."email" AS "Group.email", "Group"."img" AS "Group.img", "Group"."status" AS "Group.status", "Group"."phone" AS "Group.phone", "Group"."cellPhone" AS "Group.cellPhone", "Group"."nickName" AS "Group.nickName", "Group"."password" AS "Group.password", "Group"."found" AS "Group.found", "Group"."createdAt" AS "Group.createdAt", "Group"."updatedAt" AS "Group.updatedAt", "Group"."destroyTime" AS "Group.destroyTime", "Group.participant"."id" AS "Group.participant.id", "Group.participant"."function" AS "Group.participant.function", "Group.participant"."createdAt" AS "Group.participant.createdAt", "Group.participant"."updatedAt" AS "Group.participant.updatedAt", "Group.participant"."groupId" AS "Group.participant.groupId", "Group.participant"."userId" AS "Group.participant.userId" FROM "groups" AS "group" INNER JOIN ("participants" AS "Group.participant" INNER JOIN "users" AS "Group" ON "Group"."id" = "Group.participant"."userId") ON "group"."id" = "Group.participant"."groupId" AND ("Group"."destroyTime" IS NULL AND "Group"."participant.id" = 1) WHERE "group"."destroyTime" IS NULL; 

ところなし戻り値:Pastebin

答えて

0

使用だけidwhereで、中には、私は「機能」によって取得しようとした場合いいえ、表示されますが、特定のモデル

Group.findAll({ 
    include: [{ model: User, as: 'Group', 
    where: { 
     "id": idUser 
    } 
    }]}) 
+0

の列を操作セクションが含まれているためエラー。 –

関連する問題