vexgg
@vexgg
The happiest man alive.

Как сделать пагинацию запроссов из массива?

Всем привет, не могли бы вы подсказать, как сделать пагинацию страницы. Вот код...
$data = $dataService->getData();

        // print_r($data);
        
        $arr = $data['data']['builder'];

        return $this->render('builders/index.html.twig',['names' => $arr,
        'data' => $data['outcome'] == 'success' ? $data['data'] : array()
        ]);

Я знаю что это можно сделать с помощью knp Paginator, но везде только запросы из БД.

Я беру данные из ассоциативного массива. Всем спасибо заранее.
  • Вопрос задан
  • 134 просмотра
Решения вопроса 1
xEpozZ
@xEpozZ
Веб-разработчик
Controller:
public function index(Request $request, int $page) {
    $data = $dataService->getPage($page);
    
    return $this->render('builders/index.html.twig', [
        'data' => $data,
    ]);
}


DataService:
public function getPage(int $page) {
    $pageSize = 10;
    $offset = $page > 0 $pageSize * ($page - 1) : 0;
    // SELECT * FROM table OFFSET $offset LIMIT $pageSize
    return $query->getResult();
}
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы