我正在使用 ActiveDataProvider 返回分页结果,大部分情况下都可以正常工作。但是如果有(例如)5 页并且请求要求任何超过 5 页的页面,结果集是第 5 页,而我预计根本没有记录。
这是预期的行为吗?如果不是,我可以尝试修复它吗?
示例代码:
return new \yii\data\ActiveDataProvider([
'query' => $query,
'pagination' => [
'pageSize' => $perPage,
],
]);
最佳答案
简短回答:这是预期的行为。
如果您有兴趣,Pagination
类有这个 validatePage
默认情况下为 true
的属性。如果启用了页面验证,那么如果页面大于该页面,您会将页面设置为最后一页。
您可以将此参数设置为 false
,然后您很可能会在网格中得到零个结果。
关于php - Yii2 分页在请求无效页面时返回最后一页,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32942458/