Symfony2 projesi üzerinde çalışıyorum ve kolay bir sayfalandırma sistemi oluşturmak için KNPPaginatorBundle kullanmaya karar verdim. Bu yüzden bir Ürün varlığı oluşturdum ve paginator'i indexAction eylemine eklemek istiyorum (CRUD komutuyla oluşturuldu).Doctrine Repository kullanarak sonuçları sıralamak için KNPPaginatorBundle nasıl kullanılır?
// Retrieving products.
$em = $this->getDoctrine()->getManager();
//$entities = $em->getRepository('LiveDataShopBundle:Product')->findAll();
$dql = "SELECT a FROM LiveDataShopBundle:Product a";
$entities = $em->createQuery($dql);
// Creating pagnination
$paginator = $this->get('knp_paginator');
$pagination = $paginator->paginate(
$entities,
$this->get('request')->query->get('page', 1),
20
);
Düzgün çalışır ama denetleyicisi doğrudan sorgu oluşturmak yerine Ürünün depo kullanmak istiyorum. Bunu nasıl yapabilirim ? Aslında, doğrudan tümüyle yüklenen nesneler ArboldCollection'ı sayfalandırdığı için, doğrudan paginate nesnesine sonuçların toplanmasını ekler.
Şimdiden teşekkürler.
K4
Ben de bu performans sorununu fark ettim. Sorun, bu paketin sayfa dizisini oluşturmak için tüm dizi koleksiyonuna ihtiyaç duymasıdır. Kısmi bir sonuç verirseniz, tüm koleksiyondan hesaplandığı için sayfalandırma yanlış sayıda sayfaya sahip olacaktır – Chopchop