Lançado Adianti Framework 7.6!
Clique aqui para saber mais
Erro no onDetailEdit (Notice: Undefined index:) Tenho um form mestre/detalhe, e ao clicar em um item do grid do detalhe para editar ele me retorna: Notice: Undefined index: recuperacao_pri_bi in /var/www/html/cca/app/control/notas/NotasForm.php on line 278 Alguém pode me ajudar? Segue código: ...
ET
Erro no onDetailEdit (Notice: Undefined index:)  
Tenho um form mestre/detalhe, e ao clicar em um item do grid do detalhe para editar ele me retorna: Notice: Undefined index: recuperacao_pri_bi in /var/www/html/cca/app/control/notas/NotasForm.php on line 278

Alguém pode me ajudar?

Segue código:
  1. <?php
  1. <?php
  2. /**
  3.  * NotasForm Master/Detail
  4.  * @author  <your name here>
  5.  */
  6. class NotasForm extends TPage
  7. {
  8.     protected $form// form
  9.     protected $detail_list;
  10.     
  11.     /**
  12.      * Page constructor
  13.      */
  14.     public function __construct()
  15.     {
  16.         parent::__construct();
  17.         
  18.         
  19.         // creates the form
  20.         $this->form = new BootstrapFormBuilder('form_Notas');
  21.         $this->form->setFormTitle('Notas');
  22.         
  23.         // master fields
  24.         $id = new TEntry('id');
  25.         $aluno_id = new TDBUniqueSearch('aluno_id''cca''Aluno''id''nome');
  26.         $matricula_id = new TDBUniqueSearch('matricula_id''cca''Matricula''id''nome_aluno_id');
  27.         $ano_letivo_id = new TDBUniqueSearch('ano_letivo_id''cca''Matricula''id''ano_letivo');
  28.         
  29.         $matricula_id->setMinLength(1);
  30.         
  31.         $id->setSize(100);
  32.         // detail fields
  33.         $detail_uniqid = new THidden('detail_uniqid');
  34.         $detail_id = new THidden('detail_id');
  35.         $detail_disciplinas = new TCombo('detail_disciplinas');
  36.         $detail_nota1_primeiro_bi = new TEntry('detail_nota1_primeiro_bi');
  37.         $detail_nota2_primeiro_bi = new TEntry('detail_nota2_primeiro_bi');
  38.         $detail_nota3_primeiro_bi = new TEntry('detail_nota3_primeiro_bi');
  39.         $detail_recuperacao_pri_bi = new TEntry('detail_recuperacao_pri_bi');
  40.         $detail_nota1_segundo_bi = new TEntry('detail_nota1_segundo_bi');
  41.         $detail_nota2_segundo_bi = new TEntry('detail_nota2_segundo_bi');
  42.         $detail_nota3_segundo_bi = new TEntry('detail_nota3_segundo_bi');
  43.         $detail_recuperacao_seg_bi = new TEntry('detail_recuperacao_seg_bi');
  44.         $detail_nota1_terceiro_bi = new TEntry('detail_nota1_terceiro_bi');
  45.         $detail_nota2_terceiro_bi = new TEntry('detail_nota2_terceiro_bi');
  46.         $detail_nota3_terceiro_bi = new TEntry('detail_nota3_terceiro_bi');
  47.         $detail_recuperacao_ter_bi = new TEntry('detail_recuperacao_ter_bi');
  48.         $detail_nota1_quarto_bi = new TEntry('detail_nota1_quarto_bi');
  49.         $detail_nota2_quarto_bi = new TEntry('detail_nota2_quarto_bi');
  50.         $detail_nota3_quarto_bi = new TEntry('detail_nota3_quarto_bi');
  51.         $detail_recuperacao_qua_bi = new TEntry('detail_recuperacao_qua_bi');
  52.         $detail_recuperacao_final = new TEntry('detail_recuperacao_final');
  53.         $detail_media_final = new TEntry('detail_media_final');
  54.         
  55.         // add the combo filds detail_disciplinas
  56.         $detail_disciplinas->addItems(array('Português'=>'Português',
  57.         'Matemática'=>'Matemática',
  58.         'Ciências'=>'Ciências',
  59.         'História'=>'História',
  60.         'Geografia'=>'Geografia',
  61.         'Inglês'=>'Inglês',
  62.         'Arte'=>'Arte',
  63.         'Cidadania'=>'Cidadania',
  64.         'Religião'=>'Religião',
  65.         'Ed. Fídica'=>'Ed. Fídica',
  66.         'Química'=>'Química',
  67.         'Física'=>'Física',
  68.         'Biologia'=>'Biologia',
  69.         'Sociologia'=>'Sociologia',
  70.         'Filosofia'=>'Filosofia',
  71.         'Desenho'=>'Desenho'
  72.         ));
  73.         if (!empty($id))
  74.         {
  75.             $id->setEditable(FALSE);
  76.         }
  77.         
  78.         // master fields
  79.         $this->form->addFields( [new TLabel('Id')], [$id] );
  80.         $this->form->addFields( [new TLabel('Aluno Id')], [$aluno_id] );
  81.         $this->form->addFields( [new TLabel('Matricula Id')], [$matricula_id] );
  82.         $this->form->addFields( [new TLabel('Ano Letivo Id')], [$ano_letivo_id] );
  83.         
  84.         // detail fields
  85.         $this->form->addContent( ['<h4>Details</h4><hr>'] );
  86.         $this->form->addFields( [$detail_uniqid] );
  87.         $this->form->addFields( [$detail_id] );
  88.         
  89.         $this->form->addFields( [new TLabel('Disciplinas')], [$detail_disciplinas] );
  90.         $this->form->addFields( [new TLabel('Nota1 Primeiro Bi')], [$detail_nota1_primeiro_bi] );
  91.         $this->form->addFields( [new TLabel('Nota2 Primeiro Bi')], [$detail_nota2_primeiro_bi] );
  92.         $this->form->addFields( [new TLabel('Nota3 Primeiro Bi')], [$detail_nota3_primeiro_bi] );
  93.         $this->form->addFields( [new TLabel('Recuperacao Pri Bi')], [$detail_recuperacao_pri_bi] );
  94.         $this->form->addFields( [new TLabel('Nota1 Segundo Bi')], [$detail_nota1_segundo_bi] );
  95.         $this->form->addFields( [new TLabel('Nota2 Segundo Bi')], [$detail_nota2_segundo_bi] );
  96.         $this->form->addFields( [new TLabel('Nota3 Segundo Bi')], [$detail_nota3_segundo_bi] );
  97.         $this->form->addFields( [new TLabel('Recuperacao Seg Bi')], [$detail_recuperacao_seg_bi] );
  98.         $this->form->addFields( [new TLabel('Nota1 Terceiro Bi')], [$detail_nota1_terceiro_bi] );
  99.         $this->form->addFields( [new TLabel('Nota2 Terceiro Bi')], [$detail_nota2_terceiro_bi] );
  100.         $this->form->addFields( [new TLabel('Nota3 Terceiro Bi')], [$detail_nota3_terceiro_bi] );
  101.         $this->form->addFields( [new TLabel('Recuperacao Ter Bi')], [$detail_recuperacao_ter_bi] );
  102.         $this->form->addFields( [new TLabel('Nota1 Quarto Bi')], [$detail_nota1_quarto_bi] );
  103.         $this->form->addFields( [new TLabel('Nota2 Quarto Bi')], [$detail_nota2_quarto_bi] );
  104.         $this->form->addFields( [new TLabel('Nota3 Quarto Bi')], [$detail_nota3_quarto_bi] );
  105.         $this->form->addFields( [new TLabel('Recuperacao Qua Bi')], [$detail_recuperacao_qua_bi] );
  106.         $this->form->addFields( [new TLabel('Recuperacao Final')], [$detail_recuperacao_final] );
  107.         $this->form->addFields( [new TLabel('Media Final')], [$detail_media_final] );
  108.         $add TButton::create('add', [$this'onDetailAdd'], 'Register''fa:plus-circle green');
  109.         $add->getAction()->setParameter('static','1');
  110.         $this->form->addFields( [], [$add] );
  111.         
  112.         $this->detail_list = new BootstrapDatagridWrapper(new TDataGrid);
  113.         $this->detail_list->setId('NotasItem_list');
  114.         $this->detail_list->generateHiddenFields();
  115.         $this->detail_list->style "min-width: 700px; width:100%;margin-bottom: 10px";
  116.         
  117.         // items
  118.         $this->detail_list->addColumn( new TDataGridColumn('uniqid''Uniqid''center') )->setVisibility(false);
  119.         $this->detail_list->addColumn( new TDataGridColumn('id''Id''center') )->setVisibility(false);
  120.         $this->detail_list->addColumn( new TDataGridColumn('disciplinas''Disciplinas''left'100) );
  121.         $this->detail_list->addColumn( new TDataGridColumn('nota1_primeiro_bi''Nota1 Primeiro Bi''left'100) );
  122.         $this->detail_list->addColumn( new TDataGridColumn('nota2_primeiro_bi''Nota2 Primeiro Bi''left'100) );
  123.         $this->detail_list->addColumn( new TDataGridColumn('nota3_primeiro_bi''Nota3 Primeiro Bi''left'100) );
  124.         $this->detail_list->addColumn( new TDataGridColumn('recuperacao_pri_bi''Recuperacao Pri Bi''left'100) );
  125.         $this->detail_list->addColumn( new TDataGridColumn('nota1_segundo_bi''Nota1 Segundo Bi''left'100) );
  126.         $this->detail_list->addColumn( new TDataGridColumn('nota2_segundo_bi''Nota2 Segundo Bi''left'100) );
  127.         $this->detail_list->addColumn( new TDataGridColumn('nota3_segundo_bi''Nota3 Segundo Bi''left'100) );
  128.         $this->detail_list->addColumn( new TDataGridColumn('recuperacao_seg_bi''Recuperacao Seg Bi''left'100) );
  129.         $this->detail_list->addColumn( new TDataGridColumn('nota1_terceiro_bi''Nota1 Terceiro Bi''left'100) );
  130.         $this->detail_list->addColumn( new TDataGridColumn('nota2_terceiro_bi''Nota2 Terceiro Bi''left'100) );
  131.         $this->detail_list->addColumn( new TDataGridColumn('nota3_terceiro_bi''Nota3 Terceiro Bi''left'100) );
  132.         $this->detail_list->addColumn( new TDataGridColumn('recuperacao_ter_bi''Recuperacao Ter Bi''left'100) );
  133.         $this->detail_list->addColumn( new TDataGridColumn('nota1_quarto_bi''Nota1 Quarto Bi''left'100) );
  134.         $this->detail_list->addColumn( new TDataGridColumn('nota2_quarto_bi''Nota2 Quarto Bi''left'100) );
  135.         $this->detail_list->addColumn( new TDataGridColumn('nota3_quarto_bi''Nota3 Quarto Bi''left'100) );
  136.         $this->detail_list->addColumn( new TDataGridColumn('recuperacao_qua_bi''Recuperacao Qua Bi''left'100) );
  137.         $this->detail_list->addColumn( new TDataGridColumn('recuperacao_final''Recuperacao Final''left'100) );
  138.         $this->detail_list->addColumn( new TDataGridColumn('media_final''Media Final''left'100) );
  139.         // detail actions
  140.         $action1 = new TDataGridAction([$this'onDetailEdit'] );
  141.         $action1->setFields( ['uniqid''*'] );
  142.         
  143.         $action2 = new TDataGridAction([$this'onDetailDelete']);
  144.         $action2->setField('uniqid');
  145.         
  146.         // add the actions to the datagrid
  147.         $this->detail_list->addAction($action1_t('Edit'), 'fa:edit blue');
  148.         $this->detail_list->addAction($action2_t('Delete'), 'far:trash-alt red');
  149.         
  150.         $this->detail_list->createModel();
  151.         
  152.         $panel = new TPanelGroup;
  153.         $panel->add($this->detail_list);
  154.         $panel->getBody()->style 'overflow-x:auto';
  155.         $this->form->addContent( [$panel] );
  156.         
  157.         $this->form->addAction'Save',  new TAction([$this'onSave'], ['static'=>'1']), 'fa:save green');
  158.         $this->form->addAction'Clear', new TAction([$this'onClear']), 'fa:eraser red');
  159.         
  160.         // create the page container
  161.         $container = new TVBox;
  162.         $container->style 'width: 100%';
  163.         // $container->add(new TXMLBreadCrumb('menu.xml', __CLASS__));
  164.         $container->add($this->form);
  165.         parent::add($container);
  166.     }
  167.     
  168.     
  169.     /**
  170.      * Clear form
  171.      * @param $param URL parameters
  172.      */
  173.     public function onClear($param)
  174.     {
  175.         $this->form->clear(TRUE);
  176.     }
  177.     
  178.     /**
  179.      * Add detail item
  180.      * @param $param URL parameters
  181.      */
  182.     public function onDetailAdd$param )
  183.     {
  184.         try
  185.         {
  186.             $this->form->validate();
  187.             $data $this->form->getData();
  188.             
  189.             /** validation sample
  190.             if (empty($data->fieldX))
  191.             {
  192.                 throw new Exception('The field fieldX is required');
  193.             }
  194.             **/
  195.             
  196.             $uniqid = !empty($data->detail_uniqid) ? $data->detail_uniqid uniqid();
  197.             
  198.             $grid_data = [];
  199.             $grid_data['uniqid'] = $uniqid;
  200.             $grid_data['id'] = $data->detail_id;
  201.             $grid_data['disciplinas'] = $data->detail_disciplinas;
  202.             $grid_data['nota1_primeiro_bi'] = $data->detail_nota1_primeiro_bi;
  203.             $grid_data['nota2_primeiro_bi'] = $data->detail_nota2_primeiro_bi;
  204.             $grid_data['nota3_primeiro_bi'] = $data->detail_nota3_primeiro_bi;
  205.             $grid_data['recuperacao_pri_bi'] = $data->detail_recuperacao_pri_bi;
  206.             $grid_data['nota1_segundo_bi'] = $data->detail_nota1_segundo_bi;
  207.             $grid_data['nota2_segundo_bi'] = $data->detail_nota2_segundo_bi;
  208.             $grid_data['nota3_segundo_bi'] = $data->detail_nota3_segundo_bi;
  209.             $grid_data['recuperacao_seg_bi'] = $data->detail_recuperacao_seg_bi;
  210.             $grid_data['nota1_terceiro_bi'] = $data->detail_nota1_terceiro_bi;
  211.             $grid_data['nota2_terceiro_bi'] = $data->detail_nota2_terceiro_bi;
  212.             $grid_data['nota3_terceiro_bi'] = $data->detail_nota3_terceiro_bi;
  213.             $grid_data['recuperacao_ter_bi'] = $data->detail_recuperacao_ter_bi;
  214.             $grid_data['nota1_quarto_bi'] = $data->detail_nota1_quarto_bi;
  215.             $grid_data['nota2_quarto_bi'] = $data->detail_nota2_quarto_bi;
  216.             $grid_data['nota3_quarto_bi'] = $data->detail_nota3_quarto_bi;
  217.             $grid_data['recuperacao_qua_bi'] = $data->detail_recuperacao_qua_bi;
  218.             $grid_data['recuperacao_final'] = $data->detail_recuperacao_final;
  219.             $grid_data['media_final'] = $data->detail_media_final;
  220.             
  221.             // insert row dynamically
  222.             $row $this->detail_list->addItem( (object) $grid_data );
  223.             $row->id $uniqid;
  224.             
  225.             TDataGrid::replaceRowById('NotasItem_list'$uniqid$row);
  226.             
  227.             // clear detail form fields
  228.             $data->detail_uniqid '';
  229.             $data->detail_id '';
  230.             $data->detail_disciplinas '';
  231.             $data->detail_nota1_primeiro_bi '';
  232.             $data->detail_nota2_primeiro_bi '';
  233.             $data->detail_nota3_primeiro_bi '';
  234.             $data->detail_recuperacao_pri_bi '';
  235.             $data->detail_nota1_segundo_bi '';
  236.             $data->detail_nota2_segundo_bi '';
  237.             $data->detail_nota3_segundo_bi '';
  238.             $data->detail_recuperacao_seg_bi '';
  239.             $data->detail_nota1_terceiro_bi '';
  240.             $data->detail_nota2_terceiro_bi '';
  241.             $data->detail_nota3_terceiro_bi '';
  242.             $data->detail_recuperacao_ter_bi '';
  243.             $data->detail_nota1_quarto_bi '';
  244.             $data->detail_nota2_quarto_bi '';
  245.             $data->detail_nota3_quarto_bi '';
  246.             $data->detail_recuperacao_qua_bi '';
  247.             $data->detail_recuperacao_final '';
  248.             $data->detail_media_final '';
  249.             
  250.             // send data, do not fire change/exit events
  251.             TForm::sendData'form_Notas'$datafalsefalse );
  252.         }
  253.         catch (Exception $e)
  254.         {
  255.             $this->form->setData$this->form->getData());
  256.             new TMessage('error'$e->getMessage());
  257.         }
  258.     }
  259.     
  260.     /**
  261.      * Edit detail item
  262.      * @param $param URL parameters
  263.      */
  264.     public static function onDetailEdit$param )
  265.     {
  266.         $data = new stdClass;
  267.         $data->detail_uniqid $param['uniqid'];
  268.         $data->detail_id $param['id'];
  269.         $data->detail_disciplinas $param['disciplinas'];
  270.         $data->detail_nota1_primeiro_bi $param['nota1_primeiro_bi'];
  271.         $data->detail_nota2_primeiro_bi $param['nota2_primeiro_bi'];
  272.         $data->detail_nota3_primeiro_bi $param['nota3_primeiro_bi'];
  273.         $data->detail_recuperacao_pri_bi $param['recuperacao_pri_bi'];
  274.         $data->detail_nota1_segundo_bi $param['nota1_segundo_bi'];
  275.         $data->detail_nota2_segundo_bi $param['nota2_segundo_bi'];
  276.         $data->detail_nota3_segundo_bi $param['nota3_segundo_bi'];
  277.         $data->detail_recuperacao_seg_bi $param['recuperacao_seg_bi'];
  278.         $data->detail_nota1_terceiro_bi $param['nota1_terceiro_bi'];
  279.         $data->detail_nota2_terceiro_bi $param['nota2_terceiro_bi'];
  280.         $data->detail_nota3_terceiro_bi $param['nota3_terceiro_bi'];
  281.         $data->detail_recuperacao_ter_bi $param['recuperacao_ter_bi'];
  282.         $data->detail_nota1_quarto_bi $param['nota1_quarto_bi'];
  283.         $data->detail_nota2_quarto_bi $param['nota2_quarto_bi'];
  284.         $data->detail_nota3_quarto_bi $param['nota3_quarto_bi'];
  285.         $data->detail_recuperacao_qua_bi $param['recuperacao_qua_bi'];
  286.         $data->detail_recuperacao_final $param['recuperacao_final'];
  287.         $data->detail_media_final $param['media_final'];
  288.         
  289.         // send data, do not fire change/exit events
  290.         TForm::sendData'form_Notas'$datafalsefalse );
  291.     }
  292.     
  293.     /**
  294.      * Delete detail item
  295.      * @param $param URL parameters
  296.      */
  297.     public static function onDetailDelete$param )
  298.     {
  299.         // clear detail form fields
  300.         $data = new stdClass;
  301.         $data->detail_uniqid '';
  302.         $data->detail_id '';
  303.         $data->detail_disciplinas '';
  304.         $data->detail_nota1_primeiro_bi '';
  305.         $data->detail_nota2_primeiro_bi '';
  306.         $data->detail_nota3_primeiro_bi '';
  307.         $data->detail_recuperacao_pri_bi '';
  308.         $data->detail_nota1_segundo_bi '';
  309.         $data->detail_nota2_segundo_bi '';
  310.         $data->detail_nota3_segundo_bi '';
  311.         $data->detail_recuperacao_seg_bi '';
  312.         $data->detail_nota1_terceiro_bi '';
  313.         $data->detail_nota2_terceiro_bi '';
  314.         $data->detail_nota3_terceiro_bi '';
  315.         $data->detail_recuperacao_ter_bi '';
  316.         $data->detail_nota1_quarto_bi '';
  317.         $data->detail_nota2_quarto_bi '';
  318.         $data->detail_nota3_quarto_bi '';
  319.         $data->detail_recuperacao_qua_bi '';
  320.         $data->detail_recuperacao_final '';
  321.         $data->detail_media_final '';
  322.         
  323.         // send data, do not fire change/exit events
  324.         TForm::sendData'form_Notas'$datafalsefalse );
  325.         
  326.         // remove row
  327.         TDataGrid::removeRowById('NotasItem_list'$param['uniqid']);
  328.     }
  329.     
  330.     /**
  331.      * Load Master/Detail data from database to form
  332.      */
  333.     public function onEdit($param)
  334.     {
  335.         try
  336.         {
  337.             TTransaction::open('cca');
  338.             
  339.             if (isset($param['key']))
  340.             {
  341.                 $key $param['key'];
  342.                 
  343.                 $object = new Notas($key);
  344.                 $items  NotasItem::where('notas_id''='$key)->load();
  345.                 
  346.                 foreach( $items as $item )
  347.                 {
  348.                     $item->uniqid uniqid();
  349.                     $row $this->detail_list->addItem$item );
  350.                     $row->id $item->uniqid;
  351.                 }
  352.                 $this->form->setData($object);
  353.                 TTransaction::close();
  354.             }
  355.             else
  356.             {
  357.                 $this->form->clear(TRUE);
  358.             }
  359.         }
  360.         catch (Exception $e// in case of exception
  361.         {
  362.             new TMessage('error'$e->getMessage());
  363.             TTransaction::rollback();
  364.         }
  365.     }
  366.     
  367.     /**
  368.      * Save the Master/Detail data from form to database
  369.      */
  370.     public function onSave($param)
  371.     {
  372.         try
  373.         {
  374.             // open a transaction with database
  375.             TTransaction::open('cca');
  376.             
  377.             $data $this->form->getData();
  378.             $this->form->validate();
  379.             
  380.             $master = new Notas;
  381.             $master->fromArray( (array) $data);
  382.             $master->store();
  383.             
  384.             NotasItem::where('notas_id''='$master->id)->delete();
  385.             
  386.             if( $param['NotasItem_list_disciplinas'] )
  387.             {
  388.                 foreach( $param['NotasItem_list_disciplinas'] as $key => $item_id )
  389.                 {
  390.                     $detail = new NotasItem;
  391.                     $detail->disciplinas  $param['NotasItem_list_disciplinas'][$key];
  392.                     $detail->nota1_primeiro_bi  $param['NotasItem_list_nota1_primeiro_bi'][$key];
  393.                     $detail->nota2_primeiro_bi  $param['NotasItem_list_nota2_primeiro_bi'][$key];
  394.                     $detail->nota3_primeiro_bi  $param['NotasItem_list_nota3_primeiro_bi'][$key];
  395.                     $detail->recuperacao_pri_bi  $param['NotasItem_list_recuperacao_pri_bi'][$key];
  396.                     $detail->nota1_segundo_bi  $param['NotasItem_list_nota1_segundo_bi'][$key];
  397.                     $detail->nota2_segundo_bi  $param['NotasItem_list_nota2_segundo_bi'][$key];
  398.                     $detail->nota3_segundo_bi  $param['NotasItem_list_nota3_segundo_bi'][$key];
  399.                     $detail->recuperacao_seg_bi  $param['NotasItem_list_recuperacao_seg_bi'][$key];
  400.                     $detail->nota1_terceiro_bi  $param['NotasItem_list_nota1_terceiro_bi'][$key];
  401.                     $detail->nota2_terceiro_bi  $param['NotasItem_list_nota2_terceiro_bi'][$key];
  402.                     $detail->nota3_terceiro_bi  $param['NotasItem_list_nota3_terceiro_bi'][$key];
  403.                     $detail->recuperacao_ter_bi  $param['NotasItem_list_recuperacao_ter_bi'][$key];
  404.                     $detail->nota1_quarto_bi  $param['NotasItem_list_nota1_quarto_bi'][$key];
  405.                     $detail->nota2_quarto_bi  $param['NotasItem_list_nota2_quarto_bi'][$key];
  406.                     $detail->nota3_quarto_bi  $param['NotasItem_list_nota3_quarto_bi'][$key];
  407.                     $detail->recuperacao_qua_bi  $param['NotasItem_list_recuperacao_qua_bi'][$key];
  408.                     $detail->recuperacao_final  $param['NotasItem_list_recuperacao_final'][$key];
  409.                     $detail->media_final  $param['NotasItem_list_media_final'][$key];
  410.                     $detail->notas_id $master->id;
  411.                     $detail->store();
  412.                 }
  413.             }
  414.             TTransaction::close(); // close the transaction
  415.             
  416.             TForm::sendData('form_Notas', (object) ['id' => $master->id]);
  417.             
  418.             new TMessage('info'AdiantiCoreTranslator::translate('Record saved'));
  419.         }
  420.         catch (Exception $e// in case of exception
  421.         {
  422.             new TMessage('error'$e->getMessage());
  423.             $this->form->setData$this->form->getData() ); // keep form data
  424.             TTransaction::rollback();
  425.         }
  426.     }
  427. }
  428. ?>


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 (0)