public function buscar($where = array(), $order = array(), $tamanho = -1, $inicio = -1) { $select = $this->select(); if (null !== $this->getIdCumprimentoObjeto()) { $select->where('idCumprimentoObjeto = ?', $this->getIdCumprimentoObjeto()); } if (null !== $this->getPosicao()) { $select->where('idPosicao = ?', $this->getPosicao()); } if (0 === count($select->getPart(Zend_Db_Select::WHERE))) { throw new BadMethodCallException('Não foi usado nenhum filtro'); } $imagensDoObjeto = new ArrayObject(); $arquivoModel = new ArquivoModel(); $this->getAdapter()->getProfiler()->setEnabled(true); foreach ($this->fetchAll($select) as $ImagemDoObjetoRow) { $arquivoModel->setId($ImagemDoObjetoRow->idArquivo); $imagemDoObjeto = new self(); $imagemDoObjeto->setIdCumprimentoObjetoXArquivo($ImagemDoObjetoRow->idCumprimentoObjetoXArquivo)->setIdCumprimentoObjeto($ImagemDoObjetoRow->idCumprimentoObjeto)->setArquivo($arquivoModel->buscar())->setPosicao($ImagemDoObjetoRow->idPosicao); $imagensDoObjeto->append($imagemDoObjeto); } return $imagensDoObjeto; }