node.js - 检索表时更改表名
问题描述
我有一个这样的续集模型:
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,并且所有练习都必须命名为“练习”。
谢谢你,祝你有美好的一天!
我无法重命名表。我在谷歌上搜索了一段时间,但我没有找到解决方案。
解决方案
您可以通过为关联分配别名来做到这一点:
Workouts.hasMany(UserExercises ,{ as: 'exercises' });
在包括使用它像:
include: [
{
model:UserExercises,
as : 'exercises'
}
]
推荐阅读
- java - 为什么我得到一个空指针访问?
- datatables - DataTables:无法读取未定义的属性“长度”,但 JSON 有效
- python - 需要帮助用美丽的汤和蟒蛇检索第一次出现的东西
- reactjs - React 组件/样式指南概述
- c - 将整数变量的地址传递给 pthread_exit
- c# - Serilog Sink 未从 Lambda 记录
- fortran - 如何在 GNU Octave 中运行 Fortran 程序?
- javafx - 使用鼠标按下删除 GridPane 特定列的节点
- docker - 如何在 AWS ECS 中的同一任务中的容器之间进行通信?
- php - 在某些浏览器中生成音频的时间问题