簡體   English   中英

續集日期范圍之間的查詢(createdAt)

[英]sequelize query between date range (createdAt)

我想在一系列開始日期和結束日期之間查詢續集,但它似乎不起作用。 我試過使用 between,但它似乎也不起作用。 在續集上實現這個的正確方法是什么? 下面的查詢有什么問題? 謝謝你。

#我的代碼

if (query && query.startDate && query.endDate) {
  query = {
    createdAt: {
      [Op.between]: [query.startDate, query.endDate],
    },
  };
}

#也試過了

if (query && query.startDate && query.endDate) {
      query = {
        [Op.and]: [
          { createdAt: { [Op.gte]: query.startDate } },
          { createdAt: { [Op.lte]: query.endDate } },
        ],
      };
    }

#在控制台查詢

query {
  '$skip': '0',
  '$limit': '25',
  startDate: '2020-07-19',
  endDate: '2020-07-20'
}

這是一些演示代碼,例如

// building query string to 
    buildQuery(query) {
        var whereClause = {                      
                          
        };
        // pms filter is necessery 
        if(query && query.pms_id) { 
            whereClause['pms_id'] = query.pms_id;
         }
        // checkin date filter
        if(query && query.start_date) {            
            const arrivalFrom = moment(query.start_date).subtract(2, 'months').format('YYYY-MM-DD');
            whereClause['checkin_date'] >  arrivalFrom;
        } else {
            const arrivalFrom = moment().subtract(2, 'months').format('YYYY-MM-DD');
            whereClause['checkin_date'] >  arrivalFrom;
        }
        // checkout date filter
        if(query && query.end_date) {            
            const arrivalFrom = moment(query.end_date).add(2, 'months').format('YYYY-MM-DD');
            whereClause['checkout_date'] <  arrivalFrom;
        } else {
            const arrivalFrom = moment().add(2, 'months').format('YYYY-MM-DD');
            whereClause['checkout_date'] <  arrivalFrom;
        }
        return whereClause;
    }
// query for getting bookings related to user
    getBookings(user_id,query="") {
        return bookingModel.findAndCountAll({
            where: this.buildQuery(query), 
            include:[
                { model:pmsModel, 
                  where: { user_id:  user_id},
                  required:false
                  },
                  {
                      model: propertyModel,
                      required:false
                  },
                  {
                    model: roomModel,
                    required:false
                }
                ],           
        });
    }  

暫無
暫無

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

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