示例#1
0
 /**
  * Construtor
  */
 public function __construct()
 {
     parent::__construct("testes.t_topico");
     $this->alvo = new Topico();
     $this->maxQuestoes = 5;
 }
 /**
  * Metodo que salva as notas do teste no banco.
  *
  * @param TesteModeloLivro $teste     O teste a ter suas notas salvas
  * @param array            $respostas Um array contendo o código da questão e a resposta
  *
  * @throws TesteException
  */
 public function salvaRespostas(TesteModeloLivro $teste, array $respostas)
 {
     if (!$teste->getId()) {
         throw new TesteException('O teste informado não é válido');
     }
     $respToSave = array();
     //Consultando as questões do teste
     $querySelect = "select * from testes.{$this->tabela}_questao ";
     $querySelect .= "where {$this->tabela}_questao_pk_{$this->tabela}={$teste->getId()}";
     //
     $prepSelect = $this->tg->getPDO()->prepare($querySelect);
     $prepSelect->execute();
     if (!$prepSelect->rowCount()) {
         throw new TesteException('O teste que você tentou salvar ' . 'não é válido');
     }
     while ($resp = $prepSelect->fetchObject()) {
         $pkQuestao = "pk_{$this->tabela}_questao";
         $fkQuestao = "{$this->tabela}_questao_pk_questao";
         $tQuestoes = $resp->{$pkQuestao};
         $respQ = $respostas[$resp->{$fkQuestao}];
         $respToSave[$tQuestoes] = $respQ;
     }
     //Salvando as respostas
     $query = "insert into testes.{$this->tabela}_resposta(" . "{$this->tabela}_resposta_pk_{$this->tabela}_questao, " . "{$this->tabela}_resposta_alternativa" . ') values ';
     foreach ($respToSave as $key => $value) {
         $query .= "({$key}, '{$value}'),";
     }
     $query = substr($query, 0, -1);
     $prepare = $this->tg->getPDO()->prepare($query);
     return $prepare->execute();
 }
示例#3
0
 /**
  * Construtor.
  */
 public function __construct()
 {
     parent::__construct('testes.t_capitulo');
     $this->alvo = new Capitulo();
     $this->maxQuestoes = 10;
 }