首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >带有sequelize mysql的date_format

带有sequelize mysql的date_format
EN

Stack Overflow用户
提问于 2020-05-31 12:57:20
回答 1查看 615关注 0票数 0

我对后端使用了sequelize,并且我想用YYYY-mm-dd添加一个where条件

在mysql中,我们使用date_format(dateCreated, "%d-%m-%Y")

而是如何在Sequelize中实现它。我在谷歌上找遍了,但什么也没帮到我

我现在的顺序化查询。我想要得到dateCreated = '2020-05-31'的数据。

代码语言:javascript
复制
const apartmentOrdersData = await apartments_order.findAll(
        {
            where: { apid: req.body.apid }, group: ['apcid'],
            attributes: ['apcid', [sequelize.fn('sum', sequelize.col('totalCost')), 'total_amount'],],
            include: [apartments_child]
        });

我的模型:

代码语言:javascript
复制
    const { DataTypes, Model } = require('sequelize');
    const sequelize = require('../../../mysql_connection/sequilize');
    const admins = require('./admins');
    const apartments_child = require('./apartments_child');

    class apartments_order extends Model { }

    apartments_order.init({
        // Model attributes are defined here
        apoid: {
            type: DataTypes.INTEGER,
            primaryKey: true
        },
        invoiceNo: {
            type: DataTypes.STRING
        },
        apid: {
            type: DataTypes.INTEGER
        },
        apcid: {
            type: DataTypes.INTEGER
        },
        apcbid: {
            type: DataTypes.INTEGER
        },
        totalCost: {
            type: DataTypes.DECIMAL
        },
        dateCreated: {
            type: DataTypes.DATE
        },
        dateUpdated: {
            type: DataTypes.DATE
        },
        createdBy: {
            type: DataTypes.STRING
        },
        updatedBy: {
            type: DataTypes.STRING
        },
        status: {
            type: DataTypes.STRING
        }
    }, {
        sequelize,
        timestamps: false,
        logging: false,
        tableName: 'apartments_order'
    });

    apartments_order.hasOne(admins, { foreignKey: 'aid', sourceKey: 'createdBy' });
    apartments_order.hasOne(apartments_child, { foreignKey: 'apcid', sourceKey: 'apcid' });

    module.exports = apartments_order;
EN

回答 1

Stack Overflow用户

发布于 2020-06-01 07:29:15

您可以做的一件事是使用列的setter和getter。

遵循一个示例(在字段声明中,您可以操作getter()setter()中的数据

代码语言:javascript
复制
dateUpdated: {
    type: Sequelize.STRING,
    defaultValue: '[]',
    get() {
        const d = this.getDataValue('dateUpdated');
        return format(d, 'Y-m-d');

    },
    set(value) {
        return this.setDataValue('dateUpdated', format(value, <your-format-here>)
    },
    type: DataTypes.DATE,
},
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/62111769

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档