首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何从objection.js获取所有行

如何从objection.js获取所有行
EN

Stack Overflow用户
提问于 2021-06-29 19:37:04
回答 2查看 171关注 0票数 0

我使用Knex.js & Objection.js,我想显示国家下拉列表,所以我需要所有的行,但它只返回给我10行。如何覆盖分页功能?

我可以在url localhost:3031/countires中设置参数吗?pages=‘All’,应该有一些简单的方法。我使用的是"knex":"^0.21.1",“反对”:"^1.6.11“版本。default.js容器

代码语言:javascript
复制
"paginate": {
    "default": 10,
    "max": 2000
  },

目前,我只在src\serivices\countries\countires.services.js中做了以下更改

代码语言:javascript
复制
module.exports = function (app) {
  const options = {
    Model: createModel(app),
    //paginate: app.get("paginate"),
    paginate: {
      default: 0,
      max: 0,
    },
  };

  // Initialize our service with any options it requires
  app.use("/countries", new Countries(options, app));
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2021-07-08 11:00:22

我发现解决方案需要在获取钩子之前添加应用程序或服务。在我的例子中,我将其添加到/src/app.hooks.js

代码语言:javascript
复制
module.exports = {
  before: {
    find: [
      (hook) => {
        if (hook.params.query && hook.params.query.$paginate) {
          hook.params.paginate =
            hook.params.query.$paginate === "false" ||
            hook.params.query.$paginate === false;
          delete hook.params.query.$paginate;
        }
        return hook;
      },
    ],
 }
}

如何从邮递员调用它:

代码语言:javascript
复制
GET http://localhost:3031/institutes?$paginate=false // all rows
GET http://localhost:3031/institutes //Using pagination

Nuxt.js

代码语言:javascript
复制
async mounted() {
    this.countries = await this.$api.countries.find({ $paginate: false });
},

vue.js

代码语言:javascript
复制
this.countries = await this.$axios.get('http://localhost:3031/countries?$paginate=false');
票数 0
EN

Stack Overflow用户

发布于 2021-07-02 00:57:21

如果我能看到你对这条路线的异议查询,那将是有帮助的。但您最有可能在paginate中设置一个值,如下所示:

代码语言:javascript
复制
paginate = {
  isPage: false,
  default:10,
  max:2000
}

然后,在查询中可以使用if语句来检查isPage值是true还是false。并且仅当您将该值设置为true时才限制响应。如下所示:

代码语言:javascript
复制
const countries = paginate.isPage
  ? await Country.query()
    .limit(paginate.default)
  : await Country.query()

如果你需要更多的帮助,请回复我,我会尽我所能给你回复!

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/68177937

复制
相关文章

相似问题

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