public function indexAction() { $numberPage = 1; if (isset($_GET['tags'])) { $tags = $this->request->getQuery("tags", "string"); $criteria = new \Phalcon\Mvc\Model\Criteria(); $criteria->setModelName("\\Models\\Posts"); //$criteria->setDI($this->di); $criteria->where("tags LIKE :tags:"); $criteria->andWhere("status = :1:"); $criteria->bind(array('tags' => "%{$tags}%", '1' => '0')); $this->persistent->searchParams = $criteria->getParams(); $models = \Models\Posts::find($criteria); } else { $numberPage = $this->request->getQuery("page", "int"); if (!$numberPage or $numberPage <= 0) { $numberPage = 1; } if ($numberPage > 1 and !\Helpers\Arr::is_array_empty($this->persistent->searchParams)) { $models = \Models\Posts::find($this->persistent->searchParams); } else { $models = \Models\Posts::find("status = '0'"); $this->persistent->searchParams = null; } } if (!$models->count()) { $this->flashSession->notice("Ничего не найдено"); $this->persistent->searchParams = null; } $paginator = new \Phalcon\Paginator\Adapter\Model(array("data" => $models, "limit" => 10, "page" => $numberPage)); $page = $paginator->getPaginate(); $this->view->setVar("page", $page); //$this->view->setVar('searchparams', $this->persistent->searchParams); //$this->view->setVar('numpage', $numberPage); }
public static function getCommentsTree($model) { $criteria = new \Phalcon\Mvc\Model\Criteria(); $criteria->setModelName("\\Models\\Comments"); $criteria->where('class_name = :class_name: and object_pk = :object_pk: and status <> :status:'); $criteria->bind(array("class_name" => $model->getClassName(), "object_pk" => $model->id, "status" => self::STATUS_SPAM)); $criteria->order('created ASC'); $comments = $criteria->execute(); //return self::buildTree($comments); return $comments; }