簡體   English   中英

日期格式與續集 mysql

[英]date_format with sequelize mysql

我正在為我的后端使用 sequelize,我想用YYYY-mm-dd添加一個 where 條件

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

但是如何在 Sequelize 中實現它。 我搜索了整個谷歌,但沒有任何幫助

我目前的 Sequelize 查詢。 我想獲取dateCreated = '2020-05-31'數據。

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]
        });

我的 model:

    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;

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

遵循一個示例(在您的字段聲明中,您可以操作getter()setter()中的數據:

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,
},

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM