Laravel добавить общую общую стоимость на результат нумерации страниц - PullRequest
1 голос
/ 19 марта 2019

У меня есть запрос Laravel, использующий нумерацию страниц.

Я хочу иметь возможность возвращать результат на основе нумерации страниц, но также получить общую сумму запроса и добавить ее к возврату.Так, например, нумерация страниц установлена ​​на 5, но общая сумма может быть 20.

$query = Model::paginate(5); 
$queryTotal = $query->total();
$query->append($queryTotal);
return $query;

Ответы [ 3 ]

0 голосов
/ 19 марта 2019
$query = Model::paginate(5); 
return $query;

Вы можете получить доступ к общему итогу, используя

{{ $query->total() }} 

Для получения дополнительной информации читайте Экземпляр Paginator

0 голосов
/ 19 марта 2019

Функция paginate возвращает объект LengthAwarePaginator. Просто невозможно добавить другое поле к этому объекту.

Лучший вариант - вручную создать новую коллекцию, в которой вы объединяете LengthAwarePaginator с вновь добавленными данными.

Примером может быть:

$query = Model::paginate(5);

$addition = collect(['totalResult' => $query->total()]);

$queryData = $addition->merge($query);

return $queryData;

Естественно, если вы просто возвращаете объект LengthAwarePaginator, вы можете просто вызвать функцию total (), если, например, используете ее в своих блейд-файлах.

Надеюсь, это поможет!

0 голосов
/ 19 марта 2019

Пагинатор Laravel уже делает это.

Вы можете видеть, что при сериализации результатов в JSON существует ключ total, который представляет все строки, соответствующие этому запросу.

Вы также можете увидеть, что в paginator доступен метод total:

$results->total()

Наряду с другими методами, которые можно найти в Документах по нумерации страниц

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...