/** * Método que cadastra os destinatários da mensagem * @return boolean Retorna true em caso de sucesso ou false em caso de erro * @throws Exception Gera um exceção caso não hava destinatários definidos, inválidos ou a mensagem seja inváldia */ protected function cadastrarDestinatarios() { if (!is_int($this->id)) { throw new Exception("Não foi possivél associar os destinatários a mensagem"); } //Inserindo os destinatários $destinatarios = new ModelBase($this->getTabela() . "_destinatarios"); $destinatarios->setAutoCriarTabelas(TRUE); $destinatarios->pk_destinatario = 0; $destinatarios->mensagem = 0; $destinatarios->mapearVar("pk_destinatario", PDO::PARAM_INT)->mapearVar("mensagem", PDO::PARAM_INT); //Montando a query de inserção multipla $query = "insert into " . $this->getTabela() . "_destinatarios "; $query .= "(user_insert, tipo_usuario_insert, dt_insert, pk_destinatario, mensagem) values "; foreach ($this->destinatarios as $destinatario) { $query .= "("; $query .= $destinatarios->getUser_insert() . ", "; $query .= $destinatarios->getTipo_usuario_insert() . ", "; $query .= "'" . $destinatarios->getDtInsert() . "', "; $query .= $destinatario->getId() . ", "; $query .= $this->id; $query .= "), "; } $query = substr($query, 0, -2); if (!$destinatarios->query($query, array())) { $this->delete(); throw new Exception("Ocorreu um erro ao tenar cadastrar a mensagem. " . "Entre em contato com o administrador do sistema"); } return true; }
public function _migrate() { return parent::query('create table people( id int, name varchar(255), age int )'); }