/** * Retorna um array de objetos do tipo Model referente à entidade * @param SQLCriteria $criteria * @return array */ public function fetchAll(SQLCriteria $criteria) { $repo = new Repository($this->getClass()); return $repo->load($criteria); }
/** * Método load() * Recuperar um conjunto de objetos (collection) da base de dados * através de um critério de seleção, e instanciá-los em memória * @return Model[] Retorna um array com os objetos do tipo passado como parâmetro * ou false caso a criteria não retorne nenhum conteúdo * @throws Exception Caso o Model não seja definido */ public function load() { if ($this->model) { $repository = new Repository($this->model); } else { throw new Exception("ModelClass não definido"); } if (!$this->criteria) { $this->criteria = new SQLCriteria(); } $this->total = $repository->count($this->criteria); $this->setTotalRecords($this->limit, $this->total); if (!is_null($this->order)) { $this->criteria->setOrderBy($this->order); } if (!is_null($this->group)) { $this->criteria->setGroupBy($this->group); } $this->criteria->setLimit(($this->page - 1) * $this->limit . "," . $this->limit); $this->records = $repository->load($this->criteria); return $this->records; }