private function makeArray($rs,$columns) { $result = array(); $rs = array_values($rs); if(is_array($rs)) { foreach($rs as $key=>$model) { if(is_array($columns)) { foreach($columns as $column) { $result[$key][$column] = $model->$column; } }else { $result[$key][$columns] = $model->$columns; } } } return $result; } public function actionSearch() { $key = $_GET['q']; $criteria=new CDbCriteria; $criteria->addSearchCondition(name, $key); $page = new CPagination(Manager::model()->count($criteria)); $page->setCurrentPage($_GET['p']); $page->applyLimit($criteria); $all = Manager::model()->findAll($criteria); $result = $this->makeArray($all, array('id','name')); echo json_encode(array('results' => $result,'total'=>$page->getItemCount())); }