【问题标题】:yii2 dataprovider get all filtered datayii2 dataprovider 获取所有过滤后的数据
【发布时间】:2017-07-05 19:52:01
【问题描述】:

当我过滤表格时,我有学生表格的网格视图,那一刻我可以通过以下方式获取过滤数据

$allData=$dataProvider->getModels();

这个 $allData 包含过滤的数据。 如果我有 50 条记录,当我过滤它们时,我会得到 30 条记录,但由于分页限制为 20,此 $allData 仅显示 20 条记录。 那么如何将所有 30 条过滤记录放入变量和分页中? 如果我设置分页大小=0,那么我将获得所有数据,但我也想要分页。

那么,我该如何解决呢?

【问题讨论】:

  • 使用$allData=$dataProvider->query->all();
  • 它有效,感谢您拯救了我的一天

标签: php gridview yii2


【解决方案1】:

如果您使用的是DataProvider,那么您也有$query。所以使用:

$models = $query->all();

将返回所有过滤后的模型,DataProvider 仍然会有分页。

【讨论】:

  • 它有效,但语法将是 $dataProvider->query->all()
  • 可能你之前将$query 传递给$dataProvider,所以你有$query,但两种用法都是正确的。
  • 我试过你的代码,说 $query 是未定义的。因为我是在控制器中做的,哦,我应该在搜索模型中使用
  • 嗯,它应该在模型中,我猜你在那儿做;)
猜你喜欢
  • 1970-01-01
  • 2014-04-17
  • 1970-01-01
  • 2015-10-12
  • 1970-01-01
  • 1970-01-01
  • 2021-09-29
  • 2012-12-21
  • 1970-01-01
相关资源
最近更新 更多