[英]Create pagination in yii framework
I want to create pagination on my page without grid-view or model. 我想在没有网格视图或模型的页面上创建分页。 This is my controller code:-
这是我的控制器代码:
$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,
),
));
and my view code is:- 我的查看代码是:
<?php $this->widget('zii.widgets.grid.CGridView', array(
'id'=>'students-grid',
'dataProvider'=> $dataProvider,
)); ?>
But when I run this its show error message 但是当我运行它时,它显示错误消息
"Array to string conversion"
and 2nd option which I had try that is :- 我尝试过的第二个选择是:-
$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);
But I don't know how to use this code because i have no model in this time.On the place of model what I can use? 但是我不知道如何使用此代码,因为这一次我没有模型。在模型的地方我可以使用什么?
Please Follow below URL. 请按照下面的URL。 Here you can find how to make custom pagination.
在这里,您可以找到如何进行自定义分页。 http://www.bsourcecode.com/yiiframework2/custom-pagination-in-yiiframework-2-0/
http://www.bsourcecode.com/yiiframework2/custom-pagination-in-yiiframework-2-0/
Try this. 尝试这个。 Hope this help you.
希望这对您有所帮助。
//controller
$count = Yii::app()
->db //your count of records
->createCommand('
select COUNT(*) AS total
from providers p
left join providers_facilities_services fs on fs.provider_guid = p.provider_guid
left join lkup_facilitytypes l on l.lkup_facilitytype_id = fs.lkuptype_id and fs.type='F' left join providers_media m on m.provider_guid = p.provider_guid
left join providers_contacts as comp on comp.provider_guid= p.provider_guid where p.provider_class='F' and comp.contact_type='U' and fs.type='F' and p.deleted = 'N' and fs.lkuptype_id =5 HAVING distance <= 20000
')
->queryColumn();
$dataProvider = new CSqlDataProvider($query, array(
'totalItemCount' => $count[0],
'pagination' => array(
'pageSize' => 10,
),
));
//view
<?php $this->widget('zii.widgets.grid.CGridView', array(
'id' => 'students-grid',
'dataProvider'=> $dataProvider,
)); ?>
确保您的查询输出包含“ id”列。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.