新手分页有问题! [ 2.0 版本 ]
public function actionSel(){
$title=\Yii::$app->request->post('title');
$arr = Zk2::find()->where("title='$title'")->asArray()->one();
$c_id=$arr['c_id'];
$query = Zk2::find()->where("c_id='$c_id'");
$countQuery = clone $query;
$pages = new Pagination(['totalCount' => $countQuery->count()]);
$pages->pageSize=2;
$models = $query->offset($pages->offset)->limit($pages->limit)->asArray()->all();
return $this->render('sel', ['models' => $models, 'pages' => $pages]);
}
然后点下一页报错?
Undefined index: title
共 4 个回答
-
当你第一次访问该页面时,你的title条件是从某处post过来的,此时存在post的title。而当你点击下一页的时候,并没有进行你预想的post 一个 title 的请求,甚至你的title的条件都无法保留,毕竟分页物件是基于get去请求的。而在你title的条件没保留的情况下你使用了Yii::$app->request->post()去接受这个并不存在的变量也不会报错。因为request组件的post()会判断是否当前存在这个变量。如果不存在便会返回null。试想一下。当你查询出的数据的title字段的值是null的时候去以数组格式输出这个title下标。便出现了undefined index title。
你需要做的是,把你的post 一个title改成 get title。而这次的title条件会在分页物件的一次次的分页get请求中保留下来。
祝你好运。
共 1 条回复红鲤鱼与绿鲤鱼与驴 觉得很赞
37737
注册时间:2016-10-31
最后登录:1970-01-01
在线时长:0小时0分
最后登录:1970-01-01
在线时长:0小时0分
- 粉丝0
- 金钱5
- 威望0
- 积分5