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. public function formatDate($date, $object)
  16. {
  17. $dt = new DateTime($date);
  18. return $dt->format('d/m/Y');
  19. }
  20. }
  21. ?>


Curso Dominando o Adianti Framework

O material mais completo de treinamento do Framework.
Curso em vídeo aulas + Livro completo + Códigos fontes do projeto ERPHouse.
Conteúdo Atualizado!


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