CSqlDataProvider

Yii Pagination Result using CSqlDataProvider

匆匆过客 提交于 2019-12-13 07:33:47
问题 I am using pagination with CSqlDataProvider. Result is shown properly for the first 20 or first page of the pagination. When I see the Log message on the web page the query it uses is actually selecting top 20 rows for all the pages and that's the problem. I have no idea how to correct it. My controller has code: public function actionLink() { $sql = "SELECT Ordernumber, Order_Date FROM [Orders] WHERE CAST(Order_Date As Date) BETWEEN '01-01-2014' AND '31-01-2014'"; $count = Yii::app()->db-

Yii 关于CSqlDataProvider和CGridView的合并使用

你说的曾经没有我的故事 提交于 2019-12-05 12:04:23
今天遇到个问题,我将CSqlDataProvider数据代入CGridView的时候,数据能正常使用,但按钮就不能使用了,会提示出错。 问过些朋友,原来sqlDataProvider 中的数据集 是一个二维数组,原始的CGRidView 里面的CColumnButton 默认用的是一个Ar 但你用sqlDataProvider后就变成了关联数组了。所以 url生成那里就出错了。 $data 可能表示一个AR 或者是一个数组 当用SqlDataProvider ,ArrayDataProvider 时就是一个数组,这时候 CButtonColumn 的三个默认url 就需要自己手动修改了 不然就出错了 下面附上一段自动生成 CGridView的代码,只需要将你得到的 CSqlDataProvider数据输入即可。 /** * @param CSqlDataProvider $dp * 针对CSqlDataProvider自动生成CGridView的代码 */ static public function gridView4sqlDataProvider(CSqlDataProvider $dp) { $rowSet = $dp->getData(); $firstRow = array(); if (!empty($rowSet)) { $firstRow = current(