Laravel 自定义静态函数上的 paginate()

Laravel paginate() on custom static functions

我想对自定义静态函数进行分页。

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

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

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

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

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

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

    $return $query;
}

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

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