GG
Erro em Qualquer página Mestre/Detalhe
Pessoal, preciso de uma ajuda urgente !!!
Qualquer formulário meu mestre detalhe está gerando erro... eu consigo criar novos registros. Porém quando edito um registro e clico no botão m salvar é emitido as mensagens:
Warning: Creating default object from empty value in C:AppServwwwsolicitacoesappcontrolsolicitacoespessoa_juridicaFormv3.class.php on line 479
Fatal error: Call to undefined method stdClass::store() in C:AppServwwwsolicitacoesappcontrolsolicitacoespessoa_juridicaFormv3.class.php on line 493
Segue abaixo o código do formulario e das classes
As Classes estão assim:
Pessoa Jurídica
PJ_MIGRACAO
Curso Dominando o Adianti Framework
Dominando o Adianti Framework Quero me inscrever agora!
Qualquer formulário meu mestre detalhe está gerando erro... eu consigo criar novos registros. Porém quando edito um registro e clico no botão m salvar é emitido as mensagens:
Warning: Creating default object from empty value in C:AppServwwwsolicitacoesappcontrolsolicitacoespessoa_juridicaFormv3.class.php on line 479
Fatal error: Call to undefined method stdClass::store() in C:AppServwwwsolicitacoesappcontrolsolicitacoespessoa_juridicaFormv3.class.php on line 493
Segue abaixo o código do formulario e das classes
- <?php
- /**
- * pessoa_juridicaFormv3 Master/Detail
- * @author <your name here>
- */
- class pessoa_juridicaFormv3 extends TPage
- {
- protected $form; // form
- protected $formFields;
- protected $detail_list;
-
- /**
- * Page constructor
- */
- public function __construct()
- {
- parent::__construct();
-
- // creates the form
- $this->form = new TForm('form_pessoa_juridica');
- $this->form->class = 'tform'; // CSS class
- $this->form->style = 'max-width:700px'; // style
- parent::include_css('app/resources/custom-frame.css');
-
- $table_master = new TTable;
- $table_master->width = '100%';
-
- $table_master->addRowSet( new TLabel('pessoa_juridica'), '', '')->class = 'tformtitle';
-
- // add a table inside form
- $table_general = new TTable;
- $table_detail = new TTable;
- $table_general-> width = '100%';
- $table_detail-> width = '100%';
-
- $frame_general = new TFrame;
- $frame_general->setLegend('pessoa_juridica');
- $frame_general->style = 'background:whiteSmoke';
- $frame_general->add($table_general);
-
- $table_master->addRow()->addCell( $frame_general )->colspan=2;
- $row = $table_master->addRow();
- $row->addCell( $table_detail );
-
- $this->form->add($table_master);
-
- // master fields
- $id = new TEntry('id');
- $cg_cgc = new TEntry('cg_cgc');
- $nm_pessoa_juridica = new TEntry('nm_pessoa_juridica');
-
- if (!empty($id))
- {
- $id->setEditable(FALSE);
- }
-
- // detail fields
- $detail_id = new THidden('detail_id');
- $detail_ie_complexidade = new TEntry('detail_ie_complexidade');
- $detail_ie_tipo_atendimento = new TEntry('detail_ie_tipo_atendimento');
- $detail_ie_estrutura_servidor = new TEntry('detail_ie_estrutura_servidor');
- $detail_qt_analistas = new TEntry('detail_qt_analistas');
- $detail_ind_maturidade_informatica = new TEntry('detail_ind_maturidade_informatica');
- $detail_ind_maturidade_usuario_chave = new TEntry('detail_ind_maturidade_usuario_chave');
- $detail_qt_funcoes = new TEntry('detail_qt_funcoes');
- $detail_qt_perfis = new TEntry('detail_qt_perfis');
- $detail_qt_funcao_perfil = new TEntry('detail_qt_funcao_perfil');
- $detail_qt_modulos = new TEntry('detail_qt_modulos');
- $detail_qt_usuarios_chave_envolvidos = new TEntry('detail_qt_usuarios_chave_envolvidos');
- $detail_qt_meses = new TEntry('detail_qt_meses');
- $detail_ds_tamanho = new TEntry('detail_ds_tamanho');
- /** samples
- $this->form->addQuickFields('Date', array($date1, new TLabel('to'), $date2)); // side by side fields
- $fieldX->addValidation( 'Field X', new TRequiredValidator ); // add validation
- $fieldX->setSize( 100, 40 ); // set size
- **/
-
- // master
- $table_general->addRowSet( new TLabel('Id'), $id );
- $table_general->addRowSet( new TLabel('Cg Cgc'), $cg_cgc );
- $table_general->addRowSet( new TLabel('Nm Pessoa Juridica'), $nm_pessoa_juridica );
-
- // detail
- $frame_details = new TFrame();
- $frame_details->setLegend('Pj_Migracao');
- $row = $table_detail->addRow();
- $row->addCell($frame_details);
-
- $btn_save_detail = new TButton('btn_save_detail');
- $btn_save_detail->setAction(new TAction(array($this, 'onSaveDetail')), 'Register');
- $btn_save_detail->setImage('fa:save');
-
- $table_details = new TTable;
- $frame_details->add($table_details);
-
- $table_details->addRowSet( '', $detail_id );
- $table_details->addRowSet( new TLabel('Ie Complexidade'), $detail_ie_complexidade );
- $table_details->addRowSet( new TLabel('Ie Tipo Atendimento'), $detail_ie_tipo_atendimento );
- $table_details->addRowSet( new TLabel('Ie Estrutura Servidor'), $detail_ie_estrutura_servidor );
- $table_details->addRowSet( new TLabel('Qt Analistas'), $detail_qt_analistas );
- $table_details->addRowSet( new TLabel('Ind Maturidade Informatica'), $detail_ind_maturidade_informatica );
- $table_details->addRowSet( new TLabel('Ind Maturidade Usuario Chave'), $detail_ind_maturidade_usuario_chave );
- $table_details->addRowSet( new TLabel('Qt Funcoes'), $detail_qt_funcoes );
- $table_details->addRowSet( new TLabel('Qt Perfis'), $detail_qt_perfis );
- $table_details->addRowSet( new TLabel('Qt Funcao Perfil'), $detail_qt_funcao_perfil );
- $table_details->addRowSet( new TLabel('Qt Modulos'), $detail_qt_modulos );
- $table_details->addRowSet( new TLabel('Qt Usuarios Chave Envolvidos'), $detail_qt_usuarios_chave_envolvidos );
- $table_details->addRowSet( new TLabel('Qt Meses'), $detail_qt_meses );
- $table_details->addRowSet( new TLabel('Ds Tamanho'), $detail_ds_tamanho );
-
- $table_details->addRowSet( $btn_save_detail );
-
- $this->detail_list = new TQuickGrid;
- $this->detail_list->setHeight( 175 );
- $this->detail_list->makeScrollable();
- $this->detail_list->disableDefaultClick();
- $this->detail_list->addQuickColumn('', 'edit', 'left', 50);
- $this->detail_list->addQuickColumn('', 'delete', 'left', 50);
-
- // items
- $this->detail_list->addQuickColumn('Ie Complexidade', 'ie_complexidade', 'left', 100);
- $this->detail_list->addQuickColumn('Ie Tipo Atendimento', 'ie_tipo_atendimento', 'left', 100);
- $this->detail_list->addQuickColumn('Ie Estrutura Servidor', 'ie_estrutura_servidor', 'left', 100);
- $this->detail_list->addQuickColumn('Qt Analistas', 'qt_analistas', 'left', 100);
- $this->detail_list->addQuickColumn('Ind Maturidade Informatica', 'ind_maturidade_informatica', 'left', 100);
- $this->detail_list->addQuickColumn('Ind Maturidade Usuario Chave', 'ind_maturidade_usuario_chave', 'left', 100);
- $this->detail_list->addQuickColumn('Qt Funcoes', 'qt_funcoes', 'left', 100);
- $this->detail_list->addQuickColumn('Qt Perfis', 'qt_perfis', 'left', 100);
- $this->detail_list->addQuickColumn('Qt Funcao Perfil', 'qt_funcao_perfil', 'left', 100);
- $this->detail_list->addQuickColumn('Qt Modulos', 'qt_modulos', 'left', 100);
- $this->detail_list->addQuickColumn('Qt Usuarios Chave Envolvidos', 'qt_usuarios_chave_envolvidos', 'left', 100);
- $this->detail_list->addQuickColumn('Qt Meses', 'qt_meses', 'left', 100);
- $this->detail_list->addQuickColumn('Ds Tamanho', 'ds_tamanho', 'left', 200);
- $this->detail_list->createModel();
-
- $row = $table_detail->addRow();
- $row->addCell($this->detail_list);
-
- // create an action button (save)
- $save_button=new TButton('save');
- $save_button->setAction(new TAction(array($this, 'onSave')), _t('Save'));
- $save_button->setImage('ico_save.png');
- // create an new button (edit with no parameters)
- $new_button=new TButton('new');
- $new_button->setAction(new TAction(array($this, 'onClear')), _t('New'));
- $new_button->setImage('ico_new.png');
-
- // define form fields
- $this->formFields = array($id,$cg_cgc,$nm_pessoa_juridica,$detail_ie_complexidade,$detail_ie_tipo_atendimento,$detail_ie_estrutura_servidor,$detail_qt_analistas,$detail_ind_maturidade_informatica,$detail_ind_maturidade_usuario_chave,$detail_qt_funcoes,$detail_qt_perfis,$detail_qt_funcao_perfil,$detail_qt_modulos,$detail_qt_usuarios_chave_envolvidos,$detail_qt_meses,$detail_ds_tamanho);
- $this->formFields[] = $btn_save_detail;
- $this->formFields[] = $save_button;
- $this->formFields[] = $new_button;
- $this->formFields[] = $detail_id;
- $this->form->setFields( $this->formFields );
-
- $table_master->addRowSet( array($save_button, $new_button), '', '')->class = 'tformaction'; // CSS class
-
- // create the page container
- $container = new TVBox;
- $container->style = 'width: 90%';
- // $container->add(new TXMLBreadCrumb('menu.xml', __CLASS__));
- $container->add($this->form);
- parent::add($container);
- }
-
-
- /**
- * Clear form
- * @param $param URL parameters
- */
- public function onClear($param)
- {
- $this->form->clear(TRUE);
- TSession::setValue(__CLASS__.'_items', array());
- $this->onReload( $param );
- }
-
- /**
- * Save an item from form to session list
- * @param $param URL parameters
- */
- public function onSaveDetail( $param )
- {
- try
- {
- TTransaction::open('solicitacoes');
- $data = $this->form->getData();
-
- /** validation sample
- if (! $data->fieldX)
- throw new Exception('The field fieldX is required');
- **/
-
- $items = TSession::getValue(__CLASS__.'_items');
- $key = empty($data->detail_id) ? 'X'.mt_rand(1000000000, 1999999999) : $data->detail_id;
-
- $items[ $key ] = array();
- $items[ $key ]['id'] = $key;
- $items[ $key ]['ie_complexidade'] = $data->detail_ie_complexidade;
- $items[ $key ]['ie_tipo_atendimento'] = $data->detail_ie_tipo_atendimento;
- $items[ $key ]['ie_estrutura_servidor'] = $data->detail_ie_estrutura_servidor;
- $items[ $key ]['qt_analistas'] = $data->detail_qt_analistas;
- $items[ $key ]['ind_maturidade_informatica'] = $data->detail_ind_maturidade_informatica;
- $items[ $key ]['ind_maturidade_usuario_chave'] = $data->detail_ind_maturidade_usuario_chave;
- $items[ $key ]['qt_funcoes'] = $data->detail_qt_funcoes;
- $items[ $key ]['qt_perfis'] = $data->detail_qt_perfis;
- $items[ $key ]['qt_funcao_perfil'] = $data->detail_qt_funcao_perfil;
- $items[ $key ]['qt_modulos'] = $data->detail_qt_modulos;
- $items[ $key ]['qt_usuarios_chave_envolvidos'] = $data->detail_qt_usuarios_chave_envolvidos;
- $items[ $key ]['qt_meses'] = $data->detail_qt_meses;
- $items[ $key ]['ds_tamanho'] = $data->detail_ds_tamanho;
-
- TSession::setValue(__CLASS__.'_items', $items);
-
- // clear detail form fields
- $data->detail_id = '';
- $data->detail_ie_complexidade = '';
- $data->detail_ie_tipo_atendimento = '';
- $data->detail_ie_estrutura_servidor = '';
- $data->detail_qt_analistas = '';
- $data->detail_ind_maturidade_informatica = '';
- $data->detail_ind_maturidade_usuario_chave = '';
- $data->detail_qt_funcoes = '';
- $data->detail_qt_perfis = '';
- $data->detail_qt_funcao_perfil = '';
- $data->detail_qt_modulos = '';
- $data->detail_qt_usuarios_chave_envolvidos = '';
- $data->detail_qt_meses = '';
- $data->detail_ds_tamanho = '';
-
- TTransaction::close();
- $this->form->setData($data);
-
- $this->onReload( $param ); // reload the items
- }
- catch (Exception $e)
- {
- $this->form->setData( $this->form->getData());
- new TMessage('error', $e->getMessage());
- }
- }
-
- /**
- * Load an item from session list to detail form
- * @param $param URL parameters
- */
- public function onEditDetail( $param )
- {
- $data = $this->form->getData();
-
- // read session items
- $items = TSession::getValue(__CLASS__.'_items');
-
- // get the session item
- $item = $items[ $param['item_key'] ];
-
- $data->detail_id = $item['id'];
- $data->detail_ie_complexidade = $item['ie_complexidade'];
- $data->detail_ie_tipo_atendimento = $item['ie_tipo_atendimento'];
- $data->detail_ie_estrutura_servidor = $item['ie_estrutura_servidor'];
- $data->detail_qt_analistas = $item['qt_analistas'];
- $data->detail_ind_maturidade_informatica = $item['ind_maturidade_informatica'];
- $data->detail_ind_maturidade_usuario_chave = $item['ind_maturidade_usuario_chave'];
- $data->detail_qt_funcoes = $item['qt_funcoes'];
- $data->detail_qt_perfis = $item['qt_perfis'];
- $data->detail_qt_funcao_perfil = $item['qt_funcao_perfil'];
- $data->detail_qt_modulos = $item['qt_modulos'];
- $data->detail_qt_usuarios_chave_envolvidos = $item['qt_usuarios_chave_envolvidos'];
- $data->detail_qt_meses = $item['qt_meses'];
- $data->detail_ds_tamanho = $item['ds_tamanho'];
-
- // fill detail fields
- $this->form->setData( $data );
-
- $this->onReload( $param );
- }
-
- /**
- * Delete an item from session list
- * @param $param URL parameters
- */
- public function onDeleteDetail( $param )
- {
- $data = $this->form->getData();
-
- // reset items
- $data->detail_ie_complexidade = '';
- $data->detail_ie_tipo_atendimento = '';
- $data->detail_ie_estrutura_servidor = '';
- $data->detail_qt_analistas = '';
- $data->detail_ind_maturidade_informatica = '';
- $data->detail_ind_maturidade_usuario_chave = '';
- $data->detail_qt_funcoes = '';
- $data->detail_qt_perfis = '';
- $data->detail_qt_funcao_perfil = '';
- $data->detail_qt_modulos = '';
- $data->detail_qt_usuarios_chave_envolvidos = '';
- $data->detail_qt_meses = '';
- $data->detail_ds_tamanho = '';
-
- // clear form data
- $this->form->setData( $data );
-
- // read session items
- $items = TSession::getValue(__CLASS__.'_items');
-
- // delete the item from session
- unset($items[ $param['item_key'] ] );
- TSession::setValue(__CLASS__.'_items', $items);
-
- // reload items
- $this->onReload( $param );
- }
-
- /**
- * Load the items list from session
- * @param $param URL parameters
- */
- public function onReload($param)
- {
- // read session items
- $items = TSession::getValue(__CLASS__.'_items');
-
- $this->detail_list->clear(); // clear detail list
- $data = $this->form->getData();
-
- if ($items)
- {
- $cont = 1;
- foreach ($items as $list_item_key => $list_item)
- {
- $item_name = 'prod_' . $cont++;
- $item = new StdClass;
-
- // create action buttons
- $action_del = new TAction(array($this, 'onDeleteDetail'));
- $action_del->setParameter('item_key', $list_item_key);
-
- $action_edi = new TAction(array($this, 'onEditDetail'));
- $action_edi->setParameter('item_key', $list_item_key);
-
- $button_del = new TButton('delete_detail'.$cont);
- $button_del->class = 'btn btn-default btn-sm';
- $button_del->setAction( $action_del, '' );
- $button_del->setImage('fa:trash-o red fa-lg');
-
- $button_edi = new TButton('edit_detail'.$cont);
- $button_edi->class = 'btn btn-default btn-sm';
- $button_edi->setAction( $action_edi, '' );
- $button_edi->setImage('fa:edit blue fa-lg');
-
- $item->edit = $button_edi;
- $item->delete = $button_del;
-
- $this->formFields[ $item_name.'_edit' ] = $item->edit;
- $this->formFields[ $item_name.'_delete' ] = $item->delete;
-
- // items
- $item->id = $list_item['id'];
- $item->ie_complexidade = $list_item['ie_complexidade'];
- $item->ie_tipo_atendimento = $list_item['ie_tipo_atendimento'];
- $item->ie_estrutura_servidor = $list_item['ie_estrutura_servidor'];
- $item->qt_analistas = $list_item['qt_analistas'];
- $item->ind_maturidade_informatica = $list_item['ind_maturidade_informatica'];
- $item->ind_maturidade_usuario_chave = $list_item['ind_maturidade_usuario_chave'];
- $item->qt_funcoes = $list_item['qt_funcoes'];
- $item->qt_perfis = $list_item['qt_perfis'];
- $item->qt_funcao_perfil = $list_item['qt_funcao_perfil'];
- $item->qt_modulos = $list_item['qt_modulos'];
- $item->qt_usuarios_chave_envolvidos = $list_item['qt_usuarios_chave_envolvidos'];
- $item->qt_meses = $list_item['qt_meses'];
- $item->ds_tamanho = $list_item['ds_tamanho'];
-
- $row = $this->detail_list->addItem( $item );
- $row->onmouseover='';
- $row->onmouseout='';
- }
- $this->form->setFields( $this->formFields );
- }
-
- $this->loaded = TRUE;
- }
-
- /**
- * Load Master/Detail data from database to form/session
- */
- public function onEdit($param)
- {
- try
- {
- TTransaction::open('solicitacoes');
-
- if (isset($param['key']))
- {
- $key = $param['key'];
-
- $object = new pessoa_juridica($key);
- $items = Pj_Migracao::where('pessoa_juridica_id', '=', $key)->load();
-
- $session_items = array();
- foreach( $items as $item )
- {
- $item_key = $item->id;
- $session_items[$item_key] = $item->toArray();
- $session_items[$item_key]['id'] = $item->id;
- $session_items[$item_key]['ie_complexidade'] = $item->ie_complexidade;
- $session_items[$item_key]['ie_tipo_atendimento'] = $item->ie_tipo_atendimento;
- $session_items[$item_key]['ie_estrutura_servidor'] = $item->ie_estrutura_servidor;
- $session_items[$item_key]['qt_analistas'] = $item->qt_analistas;
- $session_items[$item_key]['ind_maturidade_informatica'] = $item->ind_maturidade_informatica;
- $session_items[$item_key]['ind_maturidade_usuario_chave'] = $item->ind_maturidade_usuario_chave;
- $session_items[$item_key]['qt_funcoes'] = $item->qt_funcoes;
- $session_items[$item_key]['qt_perfis'] = $item->qt_perfis;
- $session_items[$item_key]['qt_funcao_perfil'] = $item->qt_funcao_perfil;
- $session_items[$item_key]['qt_modulos'] = $item->qt_modulos;
- $session_items[$item_key]['qt_usuarios_chave_envolvidos'] = $item->qt_usuarios_chave_envolvidos;
- $session_items[$item_key]['qt_meses'] = $item->qt_meses;
- $session_items[$item_key]['ds_tamanho'] = $item->ds_tamanho;
- }
- TSession::setValue(__CLASS__.'_items', $session_items);
-
- $this->form->setData($object); // fill the form with the active record data
- $this->onReload( $param ); // reload items list
- TTransaction::close(); // close transaction
- }
- else
- {
- $this->form->clear(TRUE);
- TSession::setValue(__CLASS__.'_items', null);
- $this->onReload( $param );
- }
- }
- catch (Exception $e) // in case of exception
- {
- new TMessage('error', $e->getMessage());
- TTransaction::rollback();
- }
- }
-
- /**
- * Save the Master/Detail data from form/session to database
- */
- public function onSave()
- {
- try
- {
- // open a transaction with database
- TTransaction::open('solicitacoes');
-
- $data = $this->form->getData();
- $master = new pessoa_juridica;
- $master->fromArray( (array) $data);
- $this->form->validate(); // form validation
-
- $master->store(); // save master object
- // delete details
- $old_items = Pj_Migracao::where('pessoa_juridica_id', '=', $master->id)->load();
-
- $keep_items = array();
-
- // get session items
- $items = TSession::getValue(__CLASS__.'_items');
-
- if( $items )
- {
- foreach( $items as $item )
- {
- if (substr($item['id'],0,1) == 'X' ) // new record
- {
- $detail = new Pj_Migracao;
- }
- else
- {
- $detail = Pj_Migracao::find($item['id']);
- }
- // LINHA DO AVISO
- $detail->ie_complexidade = $item['ie_complexidade'];
- $detail->ie_tipo_atendimento = $item['ie_tipo_atendimento'];
- $detail->ie_estrutura_servidor = $item['ie_estrutura_servidor'];
- $detail->qt_analistas = $item['qt_analistas'];
- $detail->ind_maturidade_informatica = $item['ind_maturidade_informatica'];
- $detail->ind_maturidade_usuario_chave = $item['ind_maturidade_usuario_chave'];
- $detail->qt_funcoes = $item['qt_funcoes'];
- $detail->qt_perfis = $item['qt_perfis'];
- $detail->qt_funcao_perfil = $item['qt_funcao_perfil'];
- $detail->qt_modulos = $item['qt_modulos'];
- $detail->qt_usuarios_chave_envolvidos = $item['qt_usuarios_chave_envolvidos'];
- $detail->qt_meses = $item['qt_meses'];
- $detail->ds_tamanho = $item['ds_tamanho'];
- $detail->pessoa_juridica_id = $master->id;
- // LINHA DO ERRO
- $detail->store();
-
- $keep_items[] = $detail->id;
- }
- }
-
- if ($old_items)
- {
- foreach ($old_items as $old_item)
- {
- if (!in_array( $old_item->id, $keep_items))
- {
- $old_item->delete();
- }
- }
- }
- TTransaction::close(); // close the transaction
-
- // reload form and session items
- $this->onEdit(array('key'=>$master->id));
-
- new TMessage('info', TAdiantiCoreTranslator::translate('Record saved'));
- }
- catch (Exception $e) // in case of exception
- {
- new TMessage('error', $e->getMessage());
- $this->form->setData( $this->form->getData() ); // keep form data
- TTransaction::rollback();
- }
- }
-
- /**
- * Show the page
- */
- public function show()
- {
- // check if the datagrid is already loaded
- if (!$this->loaded AND (!isset($_GET['method']) OR $_GET['method'] !== 'onReload') )
- {
- $this->onReload( func_get_arg(0) );
- }
- parent::show();
- }
- }
- </code>
As Classes estão assim:
Pessoa Jurídica
- <?php
- /**
- * pessoa_juridica Active Record
- * @author <your-name-here>
- */
- class pessoa_juridica extends TRecord
- {
- const TABLENAME = 'pessoa_juridica';
- const PRIMARYKEY= 'id';
- const IDPOLICY = 'serial'; // {max, serial}
-
-
- private $pj_contatoss;
- private $pj_migracaos;
- /**
- * Constructor method
- */
- public function __construct($id = NULL, $callObjectLoad = TRUE)
- {
- parent::__construct($id, $callObjectLoad);
- parent::addAttribute('cg_cgc');
- parent::addAttribute('nm_pessoa_juridica');
- parent::addAttribute('ds_endereco');
- parent::addAttribute('ds_email');
- }
-
- /**
- * Method addpj_contatos
- * Add a pj_contatos to the pessoa_juridica
- * @param $object Instance of pj_contatos
- */
- public function addpj_contatos(pj_contatos $object)
- {
- $this->pj_contatoss[] = $object;
- }
-
- /**
- * Method getpj_contatoss
- * Return the pessoa_juridica' pj_contatos's
- * @return Collection of pj_contatos
- */
- public function getpj_contatoss()
- {
- return $this->pj_contatoss;
- }
-
- /**
- * Method addPj_migracao
- * Add a Pj_migracao to the pessoa_juridica
- * @param $object Instance of Pj_migracao
- */
- public function addPj_migracao(Pj_migracao $object)
- {
- $this->pj_migracaos[] = $object;
- }
-
- /**
- * Method getPj_migracaos
- * Return the pessoa_juridica' Pj_migracao's
- * @return Collection of Pj_migracao
- */
- public function getPj_migracaos()
- {
- return $this->pj_migracaos;
- }
-
- /**
- * Method getsolicitacaos
- */
- public function getsolicitacaos()
- {
- $criteria = new TCriteria;
- $criteria->add(new TFilter('pessoa_juridica_id', '=', $this->id));
- return solicitacao::getObjects( $criteria );
- }
-
- /**
- * Reset aggregates
- */
- public function clearParts()
- {
- $this->pj_contatoss = array();
- $this->pj_migracaos = array();
- }
- /**
- * Load the object and its aggregates
- * @param $id object ID
- */
- public function load($id)
- {
-
- // load the related pj_contatos objects
- $repository = new TRepository('pj_contatos');
- $criteria = new TCriteria;
- $criteria->add(new TFilter('pessoa_juridica_id', '=', $id));
- $this->pj_contatoss = $repository->load($criteria);
-
- // load the related Pj_migracao objects
- $repository = new TRepository('Pj_migracao');
- $criteria = new TCriteria;
- $criteria->add(new TFilter('pessoa_juridica_id', '=', $id));
- $this->pj_migracaos = $repository->load($criteria);
-
- // load the object itself
- return parent::load($id);
- }
- /**
- * Store the object and its aggregates
- */
- public function store()
- {
- // store the object itself
- parent::store();
-
- // delete the related pj_contatos objects
- $criteria = new TCriteria;
- $criteria->add(new TFilter('pessoa_juridica_id', '=', $this->id));
- $repository = new TRepository('pj_contatos');
- $repository->delete($criteria);
- // store the related pj_contatos objects
- if ($this->pj_contatoss)
- {
- foreach ($this->pj_contatoss as $pj_contatos)
- {
- unset($pj_contatos->id);
- $pj_contatos->pessoa_juridica_id = $this->id;
- $pj_contatos->store();
- }
- }
- // delete the related Pj_migracao objects
- $criteria = new TCriteria;
- $criteria->add(new TFilter('pessoa_juridica_id', '=', $this->id));
- $repository = new TRepository('Pj_migracao');
- $repository->delete($criteria);
- // store the related Pj_migracao objects
- if ($this->pj_migracaos)
- {
- foreach ($this->pj_migracaos as $pj_migracao)
- {
- unset($pj_migracao->id);
- $pj_migracao->pessoa_juridica_id = $this->id;
- $pj_migracao->store();
- }
- }
- }
- /**
- * Delete the object and its aggregates
- * @param $id object ID
- */
- public function delete($id = NULL)
- {
- $id = isset($id) ? $id : $this->id;
- // delete the related pj_contatos objects
- $repository = new TRepository('pj_contatos');
- $criteria = new TCriteria;
- $criteria->add(new TFilter('pessoa_juridica_id', '=', $id));
- $repository->delete($criteria);
-
- // delete the related Pj_migracao objects
- $repository = new TRepository('Pj_migracao');
- $criteria = new TCriteria;
- $criteria->add(new TFilter('pessoa_juridica_id', '=', $id));
- $repository->delete($criteria);
-
-
- // delete the object itself
- parent::delete($id);
- }
- }
- </code>
PJ_MIGRACAO
- <?php
- /**
- * Pj_migracao Active Record
- * @author <your-name-here>
- */
- class Pj_migracao extends TRecord
- {
- const TABLENAME = 'pj_migracao';
- const PRIMARYKEY= 'id';
- const IDPOLICY = 'serial'; // {max, serial}
-
-
- /**
- * Constructor method
- */
- public function __construct($id = NULL, $callObjectLoad = TRUE)
- {
- parent::__construct($id, $callObjectLoad);
- parent::addAttribute('ie_complexidade');
- parent::addAttribute('pessoa_juridica_id');
- }
- }
- </code>
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!
Curso em vídeo aulas + Livro completo + Códigos fontes do projeto ERPHouse.
Conteúdo Atualizado!
Dominando o Adianti Framework Quero me inscrever agora!
https://www.adianti.com.br/forum/pt/view_2546?masterdetail-nao-editando-os-regis