gpt4 book ai didi

dart - createdAtupdatedAt Aqueduct

转载 作者:行者123 更新时间:2023-12-03 03:01:49 25 4
gpt4 key购买 nike

在 Mongoose 中,模式有timestamp: true选项,该选项会为添加的任何模型项自动填充createdAtupdatedAt

Aqueduct 有类似的东西吗?

如果没有,我该如何手动执行?

我目前像往常一样尝试了此操作,但失败了:

  @Operation.post()
Future<Response> createICD(@Bind.body() ICD body) async {
body.createdAt = DateTime.now();
final query = Query<ICD>(context)..values = body;
final insertICD = await query.insert();

return Response.ok({'state': true, 'data': insertICD});
}

上述方法的错误是:
Converting object to an encodable object failed: Instance of 'ICD'

最佳答案

发送响应失败。您需要在asMap()上调用insertICD。您提供的响应主体对象是标准的Dart映射-它没有任何特殊的编码行为,因此它不知道如何编码像ManagedObject这样的复杂类型。在托管对象上调用asMap()将其转换为标准Dart映射:

@Operation.post()
Future<Response> createICD(@Bind.body() ICD body) async {
body.createdAt = DateTime.now();
final query = Query<ICD>(context)..values = body;
final insertICD = await query.insert();

return Response.ok({'state': true, 'data': insertICD.asMap()});
}

另外,请参阅 http://aqueduct.io/docs/db/validations/#update-and-insert-callbacks以在创建/更新事件上设置时间戳。

关于dart - createdAtupdatedAt Aqueduct ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55641644/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com