node.js - Sequelize & Apollo 服务器:将 findAll "sequelize.literal" 字段映射到 Apollo 模式字段
问题描述
我有一个像这样的阿波罗模式:
type Batch {
Batch: String,
ItemCode: String,
PV: String,
ExpirationDate: DateTime,
Freezed: Boolean,
Item:Item,
Quantity: Float,
Fefo: Boolean
}
以及像这样的续集查询:
await models.Batch.findAll({
attributes: ['ItemCode','Lotto','ExpirationDate','Freezed', [Sequelize.literal(`CASE WHEN "Batch" ='${Batch}' THEN true ELSE false END`), "Fefo"] ],
where: whereClause,
include: [models.Item],
order: [
// Will escape title and validate DESC against a list of valid direction parameters
['ExpirationDate']
]
// attributes: models.mapAttribute(models.Batches, info)
})
返回一个对象数组Batch
。
所有运行都没有问题,graphql 查询运行良好:
{
getFefoBatches (ItemCode:"200200201",Batch:"20201118B")
{
Batch, ExpirationDate, Fefo, Item { ItemCode ItemName }
}
}
但是“Fefo”字段没有使用“sequelize.literal”值进行评估。它始终为空。
也许我不知道正确的语法,但我尝试了所有可能的方法,并且我搜索了解决方案但没有成功。
如何在 sequelize 字段和 Apollo 服务器模式之间进行正确的映射?
提前致谢。
解决方案
好的,我发现问题不在于 sequelize 查询或 Apollo gql 架构,而是与模型有关。
我在模型上添加了一个与我的查询/模式字段同名的虚拟字段,一切正常。
推荐阅读
- python - Visual Studio Code - 缺少图标“在终端中运行 Pyrhon 文件”
- asp.net - 发布 Devexpress dll
- python-3.x - 使用 python 和 django 框架工作问题
- objective-c - Swift 代码不能使用继承自 Swift 类的 Obj-C 类?
- css - 如何保持与图像的比例?
- c# - 如何通过 C# 应用程序在文件级别授予 Windows 权限?
- ruby-on-rails - 根据格式路由到不同的操作
- javascript - 字符串化一些 obj 并使浏览器崩溃
- python - tf.keras.backend.clear_session 实际上做了什么?
- java - 提供在服务器中生成并存储在内存中的 zip 文件