node.js - Adonis Lucid ORM:如何将日期时间更改为仅日期,然后使用 .distinct()
问题描述
我有一张名为 Orders 的表
这是该表的示例值:
[
{
id: 1,
delivery_date: 2020-06-01 00:00:00,
quantity: 2
},
{
id: 2,
delivery_date: 2020-06-01 01:00:00,
quantity: 2
},
]
我现在问这个
...
await Order
.query()
.select('delivery_date')
.distinct('delivery_date')
.fetch()
.distinct() 不起作用,因为时间不一样,所以我的问题是,即使时间不一样且日期相同,我如何使用 distinct 来工作?我也只需要返回日期,没有时间
解决方案
所以我所做的只是将日期和时间分开。根据项目要求,我认为这对我来说是最好的解决方案,不知道为什么,但阿多尼斯仍在增加我约会的时间,我认为这是幕后的时刻,所以要解决这个问题;
你必须让 Adonis 知道你的列是一个日期,首先在你的模型上添加这个,在该数组中添加你的列名:
static get dates () {
return super.dates.concat(['delivery_date'])
}
之后,我们需要在使用显示数据时格式化该列castDate
static castDates(field, value) {
if (field === 'delivery_date') {
return value.format('YYYY-MM-DD')
}
return super.formatDates(field, value)
}
另请注意,您必须调用.fetch()
它才能工作
所有这些都在文档中: https ://adonisjs.com/docs/4.1/lucid#_dates
推荐阅读
- django - Django Rest Framework - 序列化模型关系
- python - 是否可以在snakemake 的全部规则中添加条件语句?
- python - 从字典列表中选择随机样本,具有值条件
- python - 如何在使用静态类变量的类的 __init__ 中定义默认参数?
- vector - 在向量中定义从 1 到 5 的子模块?
- r - R:当行可以属于多个类别时,是否有方法可以在数据框中找到分类值的所有可能值?
- c++ - 英特尔激光雷达 L515 ROS 深度消息是什么意思?
- r - R中的多个配对t检验
- python - 混淆列表中元素的顺序
- awkward-array - 为笨拙的数组实现 numpy.linalg.norm