yii2 REST API使用ActiveDataProvider
来获取和显示数据。此类具有pageSizeLimit
(docs)参数,默认情况下我们将pageSize
限制为50,因此无论per-page
(pageSizeParam
)查询参数有多高,最多返回50行。
有没有办法完全禁用pageSizeLimit
,以便提供程序通过指定per-page
查询参数显示尽可能多的行,如果未指定,则显示defaultPageSize
?将pageSizeLimit设置为false会强制始终返回defaultPageSize
行,无论我们每页传递的是什么。
答案 0 :(得分:3)
尝试将pageSizeLimit
设置为 dataProvider 配置中的空数组。
'pagination' => [
'pageSizeLimit' => [1]
]
从source code可以看到,如果pageSizeLimit
参数为空,则yii2使用 defaultPageSize 参数,否则尝试从 $ _ GET 参数。因此,如果您将pageSizeLimit
设置为包含一个元素的数组(或其他任何内容但不包含 false 或 [x,y] 数组),setPageSize()将不检查限制并将pageSize设置为 $ _ GET