/** * Construtor */ public function __construct($tabela) { parent::__construct($tabela); $this->aluno = new Aluno(); $this->questoes = array(); $this->maxQuestoes = 5; }
/** * Método que lista as questões de um determinado teste. * * @param Teste $teste O teste a ser usado como filtro * * @return ResultSetHydrator Um objeto contendo todos as * questões encontradas * * @throws QuestaoException */ public function deTeste(Teste $teste) { if (!$teste->getId()) { throw new QuestaoException('O teste informado é inválido'); } $tb = $teste->getTabela(); $tabela = "{$tb}_questao"; $colunaQ = substr($tabela, strrpos($tabela, '.') + 1) . '_pk_questao'; $pk = 'pk_' . substr($tb, strrpos($tb, '.') + 1); $colunaT = substr($tabela, strrpos($tabela, '.') + 1) . '_' . $pk; $this->tg->defineColuna($colunaT, $this->colInt); return $this->tg->selectObj($this->select()->distinct('pk_questao')->join($tabela, array($colunaQ => 'pk_questao'))->where(array($colunaT => $teste->getId()))); }