gpt4 book ai didi

gridview - Yii2 Gridview 中的分页和过滤

转载 作者:行者123 更新时间:2023-12-04 10:16:19 32 4
gpt4 key购买 nike

我在 Yii2 中使用了 CRUD 生成器,它为我的 actionIndex 生成了以下代码 Controller ...

public function actionIndex()
{
$searchModel = new LeadSearch();
$dataProvider = $searchModel->search(Yii::$app->request->queryParams);

return $this->render('index', [
'searchModel' => $searchModel,
'dataProvider' => $dataProvider,
]);
}

我正在尝试对此默认代码做两件事:

1)设置页面大小,使显示它的gridview只显示10行

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

对于#1,我看到许多示例在使用 ActiveDataProvider 时设置“分页” ,但没有 search() .这段代码对我不起作用...

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

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

$searchModel = new LeadSearch([ 'status' => 'open' ]);

......但这样的事情不起作用......

$searchModel = new LeadSearch([ 'status' => ['open', 'pending'] ]);

最佳答案

您需要添加 pagination ActiveDataProvider 中的选项在搜索模型中,并放入 whereandWhere$query健康)状况。

$query = modalName::find()->andWhere([ 'status' => ['open', 'pending'] ]);

$dataProvider = new ActiveDataProvider([
'query' => $query,
'pagination' => [ 'pageSize' => 10 ],
]);

关于gridview - Yii2 Gridview 中的分页和过滤,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32482893/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com