Array
(
)

Set e Get em campo Date ou Int

PHP
Marcelo Bezerra
   - 17 mar 2015

Notei que os métodos Set e Get não carrega conteudo de campo date recuperados em uma sql do mysql.
Tenho o seguinte código:

Tabela:
#Código

CREATE TABLE `propostas_04` (
  `A04_IDPROPOSTA` int(11) NOT NULL AUTO_INCREMENT,
  `A04_PROPOSTA` varchar(45) DEFAULT NULL,
  `A04_INTERESSE` varchar(45) DEFAULT NULL,
  `A04_PROJETO` varchar(45) DEFAULT NULL,
  `A04_DATARECEBIMENTO` date DEFAULT NULL,
  `A04_DATAREQUERIDA` date DEFAULT NULL,
  `A04_DATADEENVIO` date DEFAULT NULL,
  `A04_TECNICO` varchar(45) DEFAULT NULL,
  `A04_COMERCIAL` varchar(45) DEFAULT NULL,
  `A04_COMISSAO_TERCEIROS` decimal(4,2) DEFAULT NULL,
  `A04_VALORPROPOSTA` decimal(12,2) DEFAULT NULL,
  `A04_DETALHAMENTO` longtext,
  `A04_NIVEL` varchar(45) DEFAULT NULL,
  `A04_PIPELINE` varchar(45) DEFAULT NULL,
  PRIMARY KEY (`A04_IDPROPOSTA`),
  UNIQUE KEY `A04_COMERCIAL_UNIQUE` (`A04_COMERCIAL`)
) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8;



Metodo dos campos DATE na minha classe Proposta
#Código


//Métodos GET /SET
...
 public function setDtRegistro($dtRegistro){
        
        $this->dtRegistro=$dtRegistro;
    }
    
    public function getDtRegistro (){
        
        return $dtRegistro->dtRegistro;
    }

    public function setDtSolicitada($dtSolicitada){
        
        $this->dtSolicitada=$dtSolicitada;
    }
    
    public function getDtSolicitada (){
        
        return $dtSolicitada->dtSolicitada;
    }

    public function setDtRequerida($dtRequerida){
        
        $this->dtRequerida=$dtRequerida;
    }
    
    public function getDtRequerida (){
        
        return $dtRequerida->dtRequerida;
    }
        
    public function setDtEnviada($dtEnviada){
        
        $this->dtEnviada=$dtEnviada;
    }
    
    public function getDtEnviada (){
        
        return $dtEnviada->dtEnviada;
    }

...
// método recupera do SQL

function getPropostaReg($proposta){

                        $sql= "SELECT * from propostas_04 WHERE 
                                    A04_PROPOSTA = '$proposta'";
                            $rqry = mysql_query($sql) or die (mysql_error());
                            if (isset($rqry)){
                             while($r = mysql_fetch_array($rqry)){
                            foreach($r as $varname=>$varvalue){
                                $$varname = $varvalue;
                                }

                             //Invocado metodo SETS         
                                $this->setProposta($A04_PROPOSTA);
                                $this->setIDCliente($A01_IDCLIENTE);
                                $this->setIDContato($A02_IDCONTATO);
                                $this->setIDGerCon($A00_IDGERCON);
                                $this->setInteresse($A04_INTERESSE);
                                $this->setProjeto($A04_PROJETO);
                                $this->setDescricao($A04_DESCRICAO);
                                $this->setDtSolicitada($A04_DATARECEBIMENTO);
                                $this->setDtRequerida($dtRequerida);
                                $this->setNivelImportancia($A04_NIVELIMPORTANCIA);
                        
                                //fim sets
                    }

 


MAIN.PHP
#Código

<?PHP

include ("proposta.class.php");
$proposta="25635"
$Proposta = new Proposta();
$Proposta->getPropostaReg($proposta);
Echo $Proposta->getCliente();
Echo $Proposta->getProjeto();
Echo $Proposta->getDtSolicitada();
Echo $Proposta->getDtRequerida();
Echo $Proposta->getDtRegistrada();

?>



Todos os métodos Gets de campo data retorna vazio;

COMO RESOLVER

David Sylvestre
   - 18 mar 2015

Os "get" estão incorreto

Incorreto
return $foo->foo;

Correto
return $this->foo;

Marcelo Bezerra
   - 18 mar 2015

Perfeito... Muito obrigado...