【问题标题】:Laravel paginate() on custom static functionsLaravel paginate() 关于自定义静态函数
【发布时间】:2023-03-28 22:25:01
【问题描述】:

我想给自定义静态函数分页。

使用 Eloquent 时会像这样People::paginate(5); 并对结果进行分页。

我需要为这个静态函数People::getOwners();做同样的事情

【问题讨论】:

    标签: php laravel laravel-paginate


    【解决方案1】:

    只需在函数中进行查询和分页,如下所示:

    public function getOwners() {
        return self::query()->paginate(5); 
    }
    

    【讨论】:

    • 不错的答案,不幸的是我不能像这样使用它,因为我使用相同的功能没有分页!
    【解决方案2】:

    根据getOwners() 内部发生的情况,您可以将其转换为查询范围。在您的 People 模型上,添加函数:

    public function scopeGetOwners($query) {
        // $query->where(...);
        // $query->orderBy(...);
        // etc.
    
        $return $query;
    }
    

    现在,getOwners() 被视为任何其他查询范围修饰符(例如 where、orderBy 等):

    People::getOwners()->paginate(5);
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2016-09-12
      • 1970-01-01
      • 2020-08-24
      • 1970-01-01
      • 1970-01-01
      • 2020-04-25
      • 1970-01-01
      相关资源
      最近更新 更多