Typescript Adonis 5分页忽略从钩子中的查询创建的数据

Typescript Adonis 5分页忽略从钩子中的查询创建的数据,typescript,adonis.js,Typescript,Adonis.js,我正在尝试创建软删除功能使用挂钩。。。与中的示例类似。这个很好用 我的问题是控制器中使用的分页没有检测到@beforeFetch()钩子中使用的任何查询更改,并返回总记录(已删除且处于活动状态)。因此,分页元数据保持不变,即使添加了钩子并且数据不同。我确实注意到存在@beforePaginate()钩子,但它没有按预期工作,也没有相关文档 如何更新分页 产品型号: @beforeFetch() public static softDeletesFetch = (query: ModelQu

我正在尝试创建软删除功能使用挂钩。。。与中的示例类似。这个很好用

我的问题是控制器中使用的分页没有检测到
@beforeFetch()
钩子中使用的任何查询更改,并返回总记录(已删除且处于活动状态)。因此,分页元数据保持不变,即使添加了钩子并且数据不同。我确实注意到存在
@beforePaginate()
钩子,但它没有按预期工作,也没有相关文档

如何更新分页

产品型号:

 @beforeFetch()
  public static softDeletesFetch = (query: ModelQueryBuilderContract<typeof Product>) => {
    query.whereNull('deleted_at')
  }
  public async index({ request }) {

    const publicProductColumns = [
      'id',
      'categoryId',
      'name',
      'summary',
      'productCode',
      'manufacturer',
      'price'
    ]

    const currentPage = request.input('current_page', 1)
    const perPage = request.input('per_page', 20)
    const products = Product.query()

    products
      .select(publicProductColumns)
      //other stuff omited for clarity
 
    return await products.paginate(currentPage, perPage)
  }
 "meta": {
        "total": 369, //<---This stays same
        "per_page": 20,
        "current_page": 1,
        "last_page": 19,
        "first_page": 1,
        "first_page_url": "/?page=1",
        "last_page_url": "/?page=19",
        "next_page_url": "/?page=2",
        "previous_page_url": null
    },
输出:

 @beforeFetch()
  public static softDeletesFetch = (query: ModelQueryBuilderContract<typeof Product>) => {
    query.whereNull('deleted_at')
  }
  public async index({ request }) {

    const publicProductColumns = [
      'id',
      'categoryId',
      'name',
      'summary',
      'productCode',
      'manufacturer',
      'price'
    ]

    const currentPage = request.input('current_page', 1)
    const perPage = request.input('per_page', 20)
    const products = Product.query()

    products
      .select(publicProductColumns)
      //other stuff omited for clarity
 
    return await products.paginate(currentPage, perPage)
  }
 "meta": {
        "total": 369, //<---This stays same
        "per_page": 20,
        "current_page": 1,
        "last_page": 19,
        "first_page": 1,
        "first_page_url": "/?page=1",
        "last_page_url": "/?page=19",
        "next_page_url": "/?page=2",
        "previous_page_url": null
    },
“meta”:{
“总数”:369//