【发布时间】:2017-01-23 06:17:40
【问题描述】:
我有以下疑问..
$Provider1 = new CSqlDataProvider($Query1, array('pagination'=>false));
$Result1 = $bProvider->getData();
$Provider2 = new CSqlDataProvider($Query2, array('pagination'=>false));
$Result2 = $bProvider->getData();
然后我合并两个数组结果
$Result = array_merge($Result1, $Result2);
因为这个数组$Result包含多条记录,比如100+
这是我尝试过的分页
// Counting array result for pagination
$item_count = count($timelineResult);
$page_size = 10;
$pages = new CPagination($item_count);
$pages->setPageSize($page_size);
$end = ($pages->offset + $pages->limit <= $item_count ? $pages->offset + $pages->limit : $item_count);
$criteria = new CDbCriteria();
$criteria->limit = $end;
$criteria->offset = $pages->offset;
现在的问题是我如何将这个$criteria 应用到我的$Result
【问题讨论】:
-
也许使用 yiiframework.com/doc/api/1.1/CArrayDataProvider 代替 CPagination 和 CDbCriteria。您可以将数组放入其中并在构造函数中设置分页。 CDbCriteria 用于在您已经有结果时不进行查询。