Lançado Adianti Framework 7.6!
Clique aqui para saber mais
Mask data no Mysql Olá bom dia galera, estou com alguns problemas na hora de salvar a data no mysql, mesmo usando a mask padrão do adianti, no banco aparece como 0000-00-00, vi em um post que realmente existem alguns problemas no mysql sobre salvar a data, alguém poderia da um exemplo? segui esse do Pablo mas mesmo assim não estou conseguindo, não sei se é por causa que estou usando o adianti studio. P...
FV
Mask data no Mysql  
Fechado
Olá bom dia galera, estou com alguns problemas na hora de salvar a data no mysql, mesmo usando a mask padrão do adianti, no banco aparece como 0000-00-00, vi em um post que realmente existem alguns problemas no mysql sobre salvar a data, alguém poderia da um exemplo?

segui esse do Pablo mas mesmo assim não estou conseguindo, não sei se é por causa que estou usando o adianti studio.


Post do exemplo: www.adianti.com.br/forum/pt/view_1161?data-em-ddmmyyyy-em-datagrids-


  1. <?php
  2. class DatagridTransformObjectView extends TPage
  3. {
  4.     private $datagrid;
  5.     public function __construct()
  6.     {
  7.         parent::__construct();
  8.         $this->datagrid = new TDataGrid;
  9.         $date = new TDataGridColumn('date''Original date',  'left'100);
  10.         $date->setTransformer(array($this'formatDate'));
  11.         $this->datagrid->addColumn($date);
  12.         $this->datagrid->createModel();
  13.         //...
  14.     }
  15.     
  16.     public function formatDate($date$object)
  17.     {
  18.         $dt = new DateTime($date);
  19.         return $dt->format('d/m/Y');
  20.     }
  21. }
  22. ?>


Pacotão Dominando o Adianti Framework 7
O material mais completo de treinamento do Framework.
Curso em vídeo aulas + Livro completo + Códigos fontes do projeto ERPHouse.
Conteúdo Atualizado! Versão 7.4


Dominando o Adianti 7 Quero me inscrever agora!

Comentários (3)


FV

Segue meu código:

  1. <?php
  2. class ProdutoForm extends TPage
  3. {
  4.     private $form;
  5.     private $datagrid;
  6.     private $pageNavigation;
  7.     private $loaded;
  8.     
  9.     function __construct()
  10.     {
  11.         parent::__construct();
  12.         $this->form = new TForm('form_ProdutoRecord');
  13.         
  14.         try
  15.         {
  16.             $ui = new TUIBuilder(500,500);
  17.             $ui->setController($this);
  18.             $ui->setForm($this->form);
  19.             
  20.             $ui->parseFile('app/forms/ProdutoForm.form.xml');
  21.             $fields $ui->getWidgets();
  22.             $precoCusto $fields['preco_custo'];
  23.             $precoCusto->setNumericMask(2',''.'); 
  24.             $precoVenda $fields['preco_venda'];
  25.             $precoVenda->setNumericMask(2',''.');
  26.             $QuantidadeCaixa $fields['quant_em_caixa'];
  27.             $QuantidadeCaixa->setNumericMask(2',''.');
  28.             $estoque $fields['estoque'];
  29.             $estoque->setNumericMask(2',''.');
  30.             $precoPromocao $fields['preco_promocao'];
  31.             $precoPromocao->setNumericMask(2',''.');
  32.             $inicioPromocao $fields['inicio_promocao'];
  33.             $inicioPromocao->setTransformer(array($this'formatDate'));
  34.             $fimPromocao $fields['fim_promocao'];
  35.             //$fimPromocao->setMask('dd/mm/yyyy');
  36.             foreach ($fields as $name => $field)
  37.             {
  38.                 if ($field instanceof TDataGrid)
  39.                 {
  40.                     $this->datagrid $field;
  41.                     $this->pageNavigation $this->datagrid->getPageNavigation();
  42.                 }
  43.             }
  44.             
  45.             $this->form->add($ui);
  46.             $this->form->setFields($ui->getFields());
  47.         }
  48.         catch (Exception $e)
  49.         {
  50.             new TMessage('error'$e->getMessage());
  51.         }
  52.         parent::add($this->form);
  53.     }
  54.     public function formatDate($date$object)
  55.     {
  56.         $dt = new DateTime($date);
  57.         return $dt->format('d/m/Y');
  58.     }
  59.     function onSave()
  60.     {
  61.         try
  62.         {
  63.             TTransaction::open('sample');
  64.             
  65.             $object $this->form->getData('ProdutoRecord');
  66.             
  67.             $this->form->validate();
  68.             
  69.             $object->store();
  70.             $this->form->setData($object); 
  71.                         
  72.             TTransaction::close();
  73.             
  74.             new TMessage('info'TAdiantiCoreTranslator::translate('Record saved'));
  75.         }
  76.         catch (Exception $e)
  77.         {
  78.             new TMessage('error''<b>Error</b> ' $e->getMessage());
  79.             TTransaction::rollback();
  80.         }
  81.     }
  82.     function onBack()
  83.     {
  84.         TApplication::loadPage('ProdutoList');
  85.     }
  86.     function onEdit($param)
  87.     {
  88.         try
  89.         {
  90.             if (isset($param['key']))
  91.             {
  92.                 $key=$param['key'];
  93.                 
  94.                 TTransaction::open('sample');   
  95.                 $object = new ProdutoRecord($key);        
  96.                 $this->form->setData($object);   
  97.                 TTransaction::close();          
  98.             }
  99.             else
  100.             {
  101.                 $this->form->clear();
  102.             }
  103.         }
  104.         catch (Exception $e
  105.         {
  106.             new TMessage('error''<b>Error</b> ' $e->getMessage());
  107.            
  108.             TTransaction::rollback();
  109.         }
  110.     }
  111. }
  112. ?>
FV

Corrigindo o formatDate:

public function formatDate($inicioPromocao, $object)
{
$dt = new DateTime($inicioPromocao);
return $dt->format('d/m/Y');
}
IF

Antes de salvar , transforme a data para o formato americano.

  1. <?php
  2. function onSave()
  3.     {
  4.         try
  5.         {
  6.             TTransaction::open('sample');
  7.             
  8.             $object $this->form->getData('ProdutoRecord');
  9.             
  10.             $this->form->validate();
  11.             
  12.             $object->seu_campo_data TDate::date2us($object->seu_campo_data) ;  //---> Aqui
  13.  
  14.             $object->store();
  15.             $this->form->setData($object); 
  16.                         
  17.             TTransaction::close();
  18.             
  19.             new TMessage('info'TAdiantiCoreTranslator::translate('Record saved'));
  20.         }
  21.         catch (Exception $e)
  22.         {
  23.             new TMessage('error''<b>Error</b> ' $e->getMessage());
  24.             TTransaction::rollback();
  25.         }
  26.     }
  27. ?