我使用ActiveDataProvider返回大部分工作良好的分页结果。但是,如果有(例如)5个页面,并且请求请求5个以上的任何页面,则结果集是5页,而我期望根本没有记录。
这是预期的行为吗?如果不是,我能试着解决它吗?
示例代码:
return new 'yii'data'ActiveDataProvider([
'query' => $query,
'pagination' => [
'pageSize' => $perPage,
],
]);
简短的回答:这是预期的行为。
如果您感兴趣,Pagination
类具有默认为true
的validatePage
属性。如果页面验证是开启的,那么如果页面长度大于最后一页,则将页面设置为最后一页。
您可以将此参数设置为false
,然后很可能您将在网格中获得零结果。