Как передать критерии в массив в Yii

У меня есть следующие запросы ..

$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

0

Решение

Я рекомендую вам использовать CArrayDataProvider, У вас уже есть результат в массиве $Result и удалите CDbCriteria из вашего кода нумерации страниц, так что будет так.

$item_count = count($Result);
$page_size = 10;
$pages = new CPagination($item_count);
$pages->setPageSize($page_size);

$page_size = 10 и мы должны использовать тот же размер страницы 10 для CArrayDataProvider, вот как вы будете использовать CArrayDataProvider:

$dataProvider=new CArrayDataProvider($Result, array(
'pagination'=>array(
'pageSize'=>$page_size,
),
));

а затем получить результат в массиве, как это ..

$MyResult = $dataProvider->getData();

Я надеюсь, что это будет работать для вас.

1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]