yii2分页错误未显示表中的所有数据

时间:2016-11-29 19:13:30

标签: php angularjs yii pagination yii2

抱歉,但我一直在寻找这个问题的答案,但我还没有找到答案。

我们有这个项目Yii2和AngularJS。问题是Yii只从表中返回20个项目。我去了供应商并创建了我修改过这行的分页文件:

public $defaultPageSize = 20;
public $pageSizeLimit = [1, 50]; 

public $defaultPageSize = 0;
public $pageSizeLimit = [0, 50];

这是显示表中所有数据的唯一方法,但我需要在供应商文件之外的文件中执行此操作。

我该怎么做? 我需要修改哪些文件?

我在配置中尝试但它不起作用。我必须全局设置,因为在我们显示的所有数据中我都有同样的问题。

谢谢你的帮助。

2 个答案:

答案 0 :(得分:3)

最简单的方法是禁用分页...将分页设置为false,例如:如果你正在创建一个dataProvider,你可以

return new ActiveDataProvider([
   'pagination' => false,
]); 

或在与您的问题相关的模型中,您可以设置分页

答案 1 :(得分:1)

@scaisEdge's answer是正确的,我认为这是避免意外查询真正大型数据集的最佳方法。

但是,您可以使用dependency injection设置分页的初始值。在您的输入脚本中添加:

\Yii::$container->set('yii\data\ActiveDataProvider', ['pagination' => false]);

请注意,它是在数据提供者yii\data\ActiveDataProvider而非yii\data\Pagination中设置的,因为在分页中设置它会影响使用分页的所有内容。