Ver Mensaje Individual
  #11 (permalink)  
Antiguo 19/03/2018, 13:04
stevens82
 
Fecha de Ingreso: octubre-2011
Mensajes: 132
Antigüedad: 12 años, 6 meses
Puntos: 4
Respuesta: ejecutar una funcion dentro de otra

Gracias por tus respuestas, modifique el codigo asi:

Controller:

Código PHP:
$fecha_enc date('Y-m-d'strtotime($_POST['fecha_enc']));
            
$candidato $_POST['candidato'];

            
$this->_encuestas->registrarEncuesta(
            
$this->getPostParam('titulo'),
            
$this->getPostParam('cargo'),
            
$this->getPostParam('departamento'),
            
$this->getPostParam('provincia'),
            
$this->getPostParam('distrito'),
            
$fecha_enc,
            
$candidato); 
y en el model:

Código PHP:
public function registrarEncuesta($titulo$cargo$departamento$provincia$distrito$fecha_enc, array $id_candidato)
    {
        try {
            
$this->_db->setAttribute(PDO::ATTR_ERRMODEPDO::ERRMODE_EXCEPTION);
            
$this->_db->beginTransaction(); // iniciar transacción
            
$a $this->_db->prepare("INSERT INTO encuestas (id, titulo, id_cargo, id_pais, id_departamento, id_provincia, id_distrito, fecha_encuesta, fecha_registro, usuario_registrador) VALUES (null, :titulo, :cargo, 1, :departamento, :provincia, :distrito, :fecha_enc, now(), '" Session::get('id_usuario') . "')"
                
)->execute(array(
                    
':titulo'           => $titulo,
                    
':cargo'            => $cargo,
                    
':departamento'     => $departamento,
                    
':provincia'        => $provincia,
                    
':distrito'         => $distrito,
                    
':fecha_enc'        => $fecha_enc)
                );
            
$lastReciboId $this->_db->lastInsertId();
            if (!
$a) {
                throw new 
Exception("ERROR AL INGRESAR LOS DATOS");
            } else {
                for (
$i=0$i<count($id_candidato); $i++) {
                    
$sql "INSERT INTO opciones (id, id_encuesta, id_candidato) VALUES (null, :id_encuesta, :id_candidato)";
                    
$b $statement $this->_db->prepare($sql);
                    
$statement->execute(array(
                    
':id_candidato'  => $id_candidato[$i],
                    
':id_encuesta'   => $lastReciboId
                
));
                }
                if(
$a && $b) {
                    
$this->_db->commit();
                } else {
                    
$this->_db->rollBack();
                }
            }
            
// echo 'Datos insertados correctamente';
        
} catch (PDOException $e) {
            
// si ocurre un error hacemos rollback para anular todos los insert
            
$this->_db->rollBack();
            throw 
$e;
            
// echo $e->getMessage();
        
}
    } 
Ahra hare el editar, gracias