Laravel paginate() для пользовательских статических функций

Я хочу разбить пользовательскую статическую функцию на страницы.

При использовании Eloquent работает так People::paginate(5); и разбивает на страницы результаты.

Мне нужно сделать то же самое для этой статической функции People::getOwners();

2 ответа

Решение

В зависимости от того, что происходит внутри getOwners()Вы можете превратить его в область запроса. На ваше People модель, добавьте функцию:

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

    $return $query;
}

Сейчас, getOwners() рассматривается как любой другой модификатор области запроса (например, где, orderBy и т. д.):

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

Просто выполните запрос и разбивку на страницы в функции, например так:

public function getOwners() {
    return self::query()->paginate(5); 
}
Другие вопросы по тегам