【发布时间】:2015-11-06 08:22:18
【问题描述】:
我想在没有网格视图或模型的页面上创建分页。 这是我的控制器代码:-
$providers = Yii::app()->db->createCommand($query)->queryAll();
$count = Yii::app()->db->createCommand($query)->queryAll();
$dataProvider = new CSqlDataProvider($query, array(
'totalItemCount' => $count,
'pagination' => array(
'pageSize' => 10,
),
));
我的视图代码是:-
<?php $this->widget('zii.widgets.grid.CGridView', array(
'id'=>'students-grid',
'dataProvider'=> $dataProvider,
)); ?>
但是当我运行它时,它会显示错误消息
"Array to string conversion"
我尝试过的第二个选项是:-
$criteria = new CDbCriteria();
$count = Yii::app()->db->createCommand($query)->queryAll();
$pages = new CPagination($count);
// results per page
$pages->pageSize=10;
$pages->applyLimit($criteria);
//$models=Article::model()->findAll($criteria);
但是我不知道如何使用这段代码,因为我暂时没有模型。在模型的地方我可以使用什么?
【问题讨论】:
-
你能显示变量$query吗?
-
为什么你使用两个相同的查询?也许这种方式更正确?
$providers = Yii::app()->db->createCommand($query)->queryAll(); $count = count($providers); -
@DanilaGanchar 请检查这个我在这里粘贴查询pastebin.com/vcqNMEZw
-
现在你的
$count是数组,而不是整数。totalItemCount必须是整数。 Public Properties of CSqlDataProvider -
@DanilaGanchar 现在我正在使用 $count=count(Yii::app()->db->createCommand($query)->queryAll());这是整数值,但问题仍然......
标签: php gridview yii pagination