首页 > 解决方案 > 检索表时更改表名

问题描述

我有一个这样的续集模型:

var User_Exercises = sequelize.define('user_exercises', {
 id: {
    type: Sequelize.BIGINT(11),
    autoIncrement: true,
    allowNull: false,
    primaryKey: true
},
.
.
.

这个练习模型属于另一个模型(集合)。所以当我检索集合时,我包括练习。问题是在 JSON 中(每组都有一个或多个练习)我希望将“用户练习”重命名为“练习”。当我查询数据库时,有没有办法给它一个别名或其他东西?

Workouts.findAll({where: {user_fkey: curentUser}, include: [{model: 
Sets, include: [{model:UserExercises}]}]}).then((workouts)=>{
        res.send(workouts);
    })  

我无法重命名表“练习”,因为我已经有另一个名为“练习”的表。但是在我的应用程序中,我使用同一个类来传递这些 JSONS,并且所有练习都必须命名为“练习”。

谢谢你,祝你有美好的一天!

我无法重命名表。我在谷歌上搜索了一段时间,但我没有找到解决方案。

标签: node.jssequelize.js

解决方案


您可以通过为关联分配别名来做到这一点:

Workouts.hasMany(UserExercises ,{ as: 'exercises' });

在包括使用它像:

include: [
    {
        model:UserExercises,
        as : 'exercises'
    }
]

推荐阅读