Lançado Adianti Framework 7.6!
Clique aqui para saber mais
não consigo pegar os dados do TMultfield bom dia galera a cada dia a coisa piora tenho o seguinte mult ...
AS
não consigo pegar os dados do TMultfield  
Fechado
bom dia galera a cada dia a coisa piora

tenho o seguinte mult

  1. <?php
  2.      $this->multfild = new TMultiField('produtos');
  3.           $this->multfild->setClass('ItensVenda');
  4.           $this->multfild->addField('idProduto''Codigo'$cod_produto,200);
  5.           $this->multfild->addField('nomeProduto''Produto'$produto300);
  6.           $this->multfild->addField('qtd''Quantidade'$qtd50);
  7. ?>


e quero pegar os dados em uma função para fazer os calculos nessesarios, mas não vai por nada

  1. <?php
  2.   function calcular($param){
  3.       
  4.       try{
  5.       $obj $this->form->getData();
  6.       $valorTotal 0;
  7.       
  8.       
  9.       TTransaction::open('mysql');
  10.       
  11.       foreach ($obj->produtos as $p){
  12.           
  13.     //preciso pegar o multfild
  14.         var_dump($p);
  15.           exit();
  16.       
  17.       $produto = new Servicos($p->produto_id);
  18.       
  19.       $valorTotal $produto->preco $p->qtd;
  20.       
  21.       }
  22.       
  23.       $pagamento = new Parcelas($obj->pagamento_id);
  24.       
  25.       $obj->vtotal round$this->calcParcelaJuros($valorTotal$obj->parcelas$pagamento->juros),2);
  26.       $obj->vparcelas round(($this->calcParcelaJuros($valorTotal$obj->parcelas$pagamento->juros)/$obj->parcelas),2);
  27.       
  28.      $this->form->setData($obj);
  29.       
  30.      // TForm::sendData('VendasCompleta', $obj);
  31.       
  32.       TTransaction::close();
  33.       }  catch (Exception $e){
  34.           
  35.           new TMessage('info'$e->getMessage());
  36.           TTransaction::rollback();
  37.       }
  38.   }
  39. ?>


sempre que dou um var_dump, me retorna isso

object(ItensVenda)#207 (5) { ["produto":"ItensVenda":private]=> NULL ["idProduto":"ItensVenda":private]=> NULL ["nomeProduto":"ItensVenda":private]=> NULL ["data":protected]=> array(4) { ["id"]=> string(1) "1" ["idProduto"]=> string(1) "1" ["nomeProduto"]=> string(9) "Web Sites" ["qtd"]=> string(1) "2" } ["attributes":protected]=> array(0) { } }



ai não sei como percorrer isso ja que usar $p->idProduto, não funciona

Curso completo Meu Negócio Pronto
Use para si, ou transforme em um negócio: Inclui aulas e códigos-fontes
Gestor de conteúdo (SITE) + Loja Virtual (E-Commerce) + Emissor de Notas para infoprodutos


Meu negócio pronto Quero me inscrever agora!

Comentários (1)


PD

Oi Alexandre,

Suspeito que você declarou os atributos $idProduto e $nomeProduto dentro da classe ItensVenda, assim:
  1. <?php
  2. class ItensVenda extends TRecord
  3. {
  4.     private $idProduto;
  5.     private $nomeProduto;
  6. }
  7. ?>


Se você fez isso, remova. Esses atributos devem vir dos getters e setters padrão da TRecord, que armazena os valores em um vetor interno $this->data.

abs,
Pablo