【问题标题】:How to give a default value in adonis model. i am using adonis typescript如何在 adonis 模型中给出默认值。我正在使用阿多尼斯打字稿
【发布时间】:2021-09-27 01:25:29
【问题描述】:

这里我使用 node.js 的 adonis 框架,它使用自己的 orm (lucid orm)。我被卡住了如何在这里使用代码中的 publishedDate 字段为日期提供默认值。我想以 YYYY-MM-DD 格式存储当前日期

import { DateTime } from 'luxon'
import { BaseModel, BelongsTo, belongsTo, column } from '@ioc:Adonis/Lucid/Orm'
import User from './User'

export default class Post extends BaseModel {
  @column({ isPrimary: true })
  public id: number

  @column()
  public title: string

  @column()
  public description: string | null

  @column()
  public publishedDate: Date

  @column()
  public userId: number

  @column.dateTime({ autoCreate: true })
  public createdAt: DateTime

  @column.dateTime({ autoCreate: true, autoUpdate: true })
  public updatedAt: DateTime

  @belongsTo(() => User, {
    foreignKey: 'userId',
  })
  public posts: BelongsTo<typeof User>
}

【问题讨论】:

  • 使用@column.date() 而不是@column.dateTime()

标签: node.js typescript postgresql orm adonis.js


【解决方案1】:

您可以在表迁移中分配默认值,例如

table.date('published_date').defaultTo(#YOUR DATE#)

但是,我不确定您是否可以将其存储为 YYYY-MM-DD 格式。你可以到处玩,看看它是否有效。如果它不起作用,那么您必须将您的日期存储为 ISO 日期时间字符串并使用 @computed 装饰器来格式化您的日期。

https://docs.adonisjs.com/reference/orm/decorators#computed

【讨论】:

    猜你喜欢
    • 2023-03-25
    • 2016-12-25
    • 2017-03-30
    • 2019-02-27
    • 1970-01-01
    • 1970-01-01
    • 2020-04-13
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多