我如何限制来自 Yii2 DataProvider 的数据?

How can i limit the data from Yii2 DataProvider?

我想限制从 Yii2 ActiveDataProvider 获取的数据为 10,这是我的控制器的代码:

use app\forms\MerchantSearchForm;
use Yii;
use yii\data\ActiveDataProvider;

  $newMembersDataProvider = new ActiveDataProvider([
        'query' => $this->merchantManager->getQuery()->limit(10)
        ]);

但是我得到的不是前 10 个结果,而是所有超过 2000 行的结果。 我知道我可以使用上面的代码,所以我可以将结果限制为每页 10 个:

$newMembersDataProvider = new ActiveDataProvider([
            'query' => $this->merchantManager->getQuery(),
            'pagination' => ['pageSize' => 10]
            ]);

但我不想要分页。我只想要 table.

的前 5 个结果

好的!我想我找到了。只有当我首先将分页设置为 false 时,限制才会起作用。如果其他人有同样的问题,这是最简单的方法。所以这里是工作代码:

$newMembersDataProvider = new ActiveDataProvider([
            'query' => $this->merchantManager->getQuery()->limit(10),
            'pagination' => false
            ]);