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);
我想对自定义静态函数进行分页。
使用 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);