民宿搜索接口

来源:10-4 编写搜索民宿接口,与前端联调

_驺虞

2020-12-27

第一次接触后端,问一个小白问题。。。。。

async search(params) {
    return this.run(async (ctx, app) => {
      const { lte, gte, like } = app.Sequelize.Op;
      const where = {
        cityCode: Array.isArray(params.code) ? params.code[0] : params.code,
        startTime: {
          [lte]: params.startTime
        },
        endTime: {
          [gte]: params.endTime
        },
        name: {
          [like]: '%' + params.houseName + '%'
        }
      };
      if (!params.houseName) {
        delete where.name;
      }
      const result = await ctx.model.House.findAll({
        ...this.commonAttr(app),
        limit: 8,
        offset: (params.pageNum - 1) * params.pageSize,
        where
      });

      return result;
    });
  }

搜索民宿时,findAll为什么能够根据params.pageSize的不同 返回不同分页的数据?

写回答

1回答

夏小宅

2020-12-27

sequelize findAll方法封装了mysql的分页查询语句,limit 与offset。不是根据pageSize查询的,是将pageSize和pageNum转化成offset进行查询的。

0
1
_驺虞
thanks
2020-12-28
共1条回复

React+React Hook+Egg造轮子 全栈开发旅游电商应用

造好轮子+前后端复杂业务处理,解锁前端高手必备技能。

479 学习 · 137 问题

查看课程