2016-04-06 15 views
0

Merhaba,bir getSelect() sonra bir model getSize() bir doğru sonuca ulaşmak için nasıl -> sınırı()

Şu anda, amacıyla özel bir gelişmiş arama oluşturmak için denemek sadece X göstermek belirli ürünler. Ben count($collection) kontrol edersem ben kontrol eğer

$collection->getSelect()->limit(X); 
$collection->load(); 

, ben sürpriz X olmadan almak Ama: Modelimin süzülür ve beklediklerinden sayıdan fazla olduğunda

, ben onları sınırlamak Bir $collection->getSize(), (X) sınırını tamamlamamış olsaydım, önceki tam sayıyı aldım.

"zorlamak" için bir yol var mı için getSize() bir doğru boyutu elde etmek için sınırı ürün toplama sınırı ya bir yol düşünün? Zaman ayırdığınız için

Teşekkür sen, PS

:

  • $collection->setPage(0,X)

  • ile çalıştı $collection->setPageSize(X)->setCurPage(1);

  • ile çalıştı ben Mage_CatalogSearch_Model_Advanced bir singleton kullanmak

    rewrited
  • Bu singleton koleksiyonu, addFilters() ile filtrelenir ve beklendiği gibi çalışır.

cevap

0

Dene: Ben kullanmak gerektiğini düşünüyorum $collection->setPageSize(5)->setCurPage(1);

+0

Cevabınız için teşekkür ederiz. Maalesef aynı sonucu setPage (0,5) veya limit (5) olarak aldım. Gösterilen 5 ürün var ama getSize() sonucunda daha fazlası var. Başka herhangi bir fikir lütfen? – phlesaux

+0

Başka bir hata olmadığından emin misiniz? Size verdiğim kodu kullanırsanız ve sonra print_r ($ collection-> getAllIds()); 'çıktı nedir? Bu $ koleksiyonunun –

+0

getAllIds() değeri bana 62 ürüne ait bir dizi verin. Olması gerektiği gibi çalışmazsa mutlaka bir hata var, ama açıkça göremiyorum. Yazılıma yardımcı olabilecek bir yazıyla post-scriptum'da daha fazla bilgi ekledim. Yardımın için teşekkürler. – phlesaux

İlgili konular