8

我在Yii2中使用了CRUD生成器,它为我的操作索引控制器。。。

公共函数actionIndex(){$searchModel=新LeadSearch();$dataProvider=$searchModel->search(Yi::$app->request->queryParams);return$this->render(“索引”['searchModel'=>$searchModel,'dataProvider'=>$dataProvider,]);}

我正在尝试对此默认代码执行两项操作:

1) 设置页面大小,使显示它的网格视图只显示10行

2) 修改$searchModel(搜索模型)这样,它只返回表中状态列与某些多值匹配的记录(in运算符)。。。或者更好的是,所有与给定值不匹配的记录。

对于#1,我看到了许多在使用活动数据提供程序,但没有搜索()。此代码对我不起作用。。。

$dataProvider=$searchModel->搜索(Yi::$app->request->queryParams,['pagination'=>['pageSize'=>10]]);

对于#2,我知道我们可以通过将新的LeadSearch对象声明为。。。

$searchModel=新的LeadSearch([“status”=>“open”]);

…但这样的事情不起作用。。。

$searchModel=新LeadSearch(['status'=>['open','pending']]);
1
  • 你的第一个问题也许可以在这里回答答案我想您可以在$查询对象。添加一些$query->andWhere(['status'=>['open','pending']]) 评论 2015年9月9日16:42

4个答案4

重置为默认值
15

您需要添加分页中的选项活动数据提供程序在搜索模型中,还放置哪里和位置$查询条件。

$query=modalName::find()->andWhere(['status'=>['open','pending']]);$dataProvider=新的ActiveDataProvider([“query”=>$query,“分页”=>[“页面大小”=>10],]);
2
  • 我们如何在视图页面的gridview中而不是在控制器中设置分页
    – 用户2678776
    评论 2017年2月7日11:46
  • 添加了此选项,但分页在中仍然不可见网格视图在yii2中 评论 2020年2月17日5:45
6
$searchModel=新的PersonSearch();$dataProvider=$searchModel->搜索(Yi::$app->request->queryParams);$dataProvider->pagination=['pageSize'=>10,];
0
2

跟随易的入门教程,$数据提供者有一个设置分页方法。

.../**从Gii生成的基本代码**/$searchModel=新相册搜索();$dataProvider=$searchModel->search(Yi::$app->request->queryParams);/**分页并显示表中的5项*/$dataProvider->setPagination(['pageSize'=>5]);...

这个最高答案是过度的,因为它会创建新建ActiveDataProvider(…)并重新插入自己的查询只是为了设置分页。请接受指导。

-1

在此处输入图像描述

$dataProvider->pagination=['pageSize'=>10];
2
  • 1
    不要在答案中以图像的形式发布代码。没有必要。堆栈溢出可以正确地显示代码,如果它只是文本,则更有用。
    – 朱斯蒂
    评论 2019年9月5日3:15
  • 虽然此代码可以解决问题,包括一个解释这将如何以及为什么解决这个问题,这将真正有助于提高你的帖子质量,并可能导致更多的up-vote。记住,你是在为未来的读者回答问题,而不仅仅是现在问的人。拜托编辑你的答案是添加解释,并指出适用的限制和假设。 评论 2019年9月5日20:31

你的答案

单击“发布您的答案”,表示您同意我们的服务条款并确认您已阅读我们的隐私政策.

不是你想要的答案吗?浏览标记的其他问题问你自己的问题.