2015-10-05 80 views
2

我正在使用ActiveDataProvider返回主要工作正常的分頁結果。但是,如果有(例如)5頁,並且請求要求5以上的任何頁面,那麼當我根本沒有記錄時,結果集是第5頁。當請求一個無效頁面時,Yii2分頁返回最後一頁

這是預期的行爲?如果不是,我可以嘗試修復它嗎?

示例代碼:

return new \yii\data\ActiveDataProvider([ 
     'query' => $query, 
     'pagination' => [ 
      'pageSize' => $perPage, 
     ], 
]); 
+0

不清楚你在問什麼? –

+0

請檢查以下網址: http://stackoverflow.com/questions/31987006/create-pagination-in-yii-framework/31989183#31989183 –

回答

2

簡短的回答:這是預期的行爲。

如果你有興趣,Pagination類有這個validatePage屬性,默認爲true。如果頁面驗證已打開,那麼如果頁面大於該頁面,則會將頁面設置爲最後一頁。

您可以將此參數設置爲false,然後很可能您的網格中會得到零結果。

+0

謝謝Beowulfenator。這解決了它。 – Dubby