Bana çıkış olarak son kullanıcı veren bir kullanıcı modeli var. Nasıl yerine veritabanındaki tüm kullanıcıların sadece çıkışı bana 200 kayıtlar için kayıt sınırlayabilir?
According to the documentation, find()
yöntemine ikinci argümanı $params
dizidir.
Bu dizideki geçmek mümkün değerlerden biri bir limit
anahtarıdır. Yani aşağıdaki yapabilirsiniz:
$users = $this->User->find('all', array('limit' => 200));
"i have it like array('limit' => 21, 'page' => 1) for paging 21 users in one page.. if i change the limit there to 200 then it paginates 200 users in one page only...in this case how to limit along with proper pagination?? – Anonymous May 14 '09 at 7:22"
birisi de belirtildiği gibi evet cakePHP pagination yardımcısı kullanabilirsiniz. Ama kendi sayfalama yapmak veya sadece çağrı başına alınan kayıtların sayısını sınırlamak isteyen bazı durumlar olabilir. Ne burada değer Ben böyle bir durum ele nasıl için.
Say for example you want to retrieve a certain number of records per page, Then: $start = 0; -> this is in order to start retrieving records starting from the first one. If you need to say for example, start from the 31st, then $start = 30;
So, $start = 0; $length = 20; // we are going to retrieve 20 records starting from the first record
Ve kod gibi bir şey olacaktır:
// To retrieve a number of Products per page
$products = $this->Product->find('all', array(
'order' => 'product_number ASC',
'limit' => $start.','.$length,
'recursive' => -1
)
);
Find () ile paginate etmeyin.
Kek Numaralandırma: http://book.cakephp.org/2.0/en/core-libraries/components/pagination.html
kullanıcı model dosyasını açın ve aşağıdaki gibi yapın:
Eğer adında ilişki değişkeni içinde 'sınır' özelliğini değiştirmek gerekir
var $hasMany = array( 'Abus' => array('className' => 'Abus', 'foreignKey' => 'user_id', 'dependent' => false, 'conditions' => '', 'fields' => '', 'order' => '', 'limit' => '200', 'offset' => '', 'exclusive' => '', 'finderQuery' => '', 'counterQuery' => '' ) );
YA da bu deneyebilirsiniz ...
Lütfen kullanıcılar denetleyicisi bu sevmeye $ Sayfalandır'ı ayarlayın.
var $paginate = array('limit' => 200);
Eğer Sayfalandır'ı kullanmak yerde kayıtları şimdi 200 ile sınırlı olacak.