mysql - Vapor 4 Fluent 创建模型不会将其保存到数据库中
问题描述
我刚开始使用 Vapor 4,我创建了一个 POC 来测试如何将模型保存到本地 mySQL 数据库中。
这是我用于将模型保存到数据库的控制器的代码。
public class ProductController {
static func create(req: Request) throws -> HTTPStatus {
do {
let input = try req.content.decode(Product.self)
let product = Product(name: input.name, imageUrl: input.imageUrl, priceAmount: input.priceAmount, priceCurrencyCode: input.priceCurrencyCode, category: input.category)
let _ = input.create(on: req.db).map {
print("Product saved")
}
return HTTPStatus.ok
} catch {
return HTTPStatus.badRequest
}
}
出于某种原因,“已保存的产品”永远不会被打印出来,因此永远不会调用闭包。当我签入数据库时,表 products 始终为空。
预先感谢您的帮助!
卡里姆
解决方案
尝试保存产品而不是输入:
return product.create(on: req.db).map { print("Product saved") }
.transform(to: .ok)
推荐阅读
- c++ - 从位图中提取像素数据的问题
- gradle-kotlin-dsl - 如何将所有系统属性传递给 gradle kotlin dsl 中的测试任务?
- python - 在 python 中执行任意 *real* 代码块(不是字符串化版本)
- java - Android Studio:单击按钮时没有吐司消息
- c++ - 当数组对象作为函数参数传递时,为什么复制构造函数不会调用自己?
- windows - MSI Installer 一直无法在 Windows Server 上安装 Adobe InCopy 32/64bit
- php - 在 Woocommerce 中自动更新购物车商品数量变化的购物车总数
- c++ - 如何修复:“MySQL_Prepared_ResultSet::getInt: 'columnIndex' 的值无效”
- excel - 在 Excel 中,如何使用 VBA 动态合并具有相同值的单元格?
- c++ - 创建为双指针的两个暗淡数组的计数大小