Object of class Funcionario could not be converted to string Boa tarde, estou tendo o seguinte erro ao tentar salvar os dados no Form: Object of class Funcionario could not be converted to string Segue código: ...
ET
Object of class Funcionario could not be converted to string  
Boa tarde, estou tendo o seguinte erro ao tentar salvar os dados no Form:
Object of class Funcionario could not be converted to string

Segue código:
 
  1. <?php
  2. /**
  3. * FuncionarioForm Form
  4. * @author <your name here>
  5. */
  6. class FuncionarioForm extends TPage
  7. {
  8. protected $form; // form
  9. use Adianti\Base\AdiantiFileSaveTrait;
  10. /**
  11. * Form constructor
  12. * @param $param Request
  13. */
  14. public function __construct( $param )
  15. {
  16. parent::__construct();
  17. // creates the form
  18. $this->form = new BootstrapFormBuilder('form_Funcionario');
  19. $this->form->setFormTitle('Funcionario');
  20. // create the form fields
  21. $id = new TEntry('id');
  22. $nome = new TEntry('nome');
  23. $rg = new TEntry('rg');
  24. $cpf = new TEntry('cpf');
  25. $pis = new TEntry('pis');
  26. $naturalidade_id = new TDBUniqueSearch('naturalidade_id', 'microerp', 'Naturalidade', 'id', 'naturalidade');
  27. $sexo_id = new TDBUniqueSearch('sexo_id', 'microerp', 'Sexo', 'id', 'sexo');
  28. $data_nascimento = new TDate('data_nascimento');
  29. $telefone = new TEntry('telefone');
  30. $celular = new TEntry('celular');
  31. $uf_id = new TDBUniqueSearch('uf_id', 'microerp', 'Uf', 'id', 'uf');
  32. $cidade_id = new TDBUniqueSearch('cidade_id', 'microerp', 'Cidade', 'id', 'nome');
  33. $bairro_id = new TDBUniqueSearch('bairro_id', 'microerp', 'Bairro', 'id', 'bairro');
  34. $logradouro = new TDBUniqueSearch('logradouro', 'microerp', 'Logradouro', 'id', 'logradouro');
  35. $numero = new TEntry('numero');
  36. $complemento = new TEntry('complemento');
  37. $cep_id = new TDBUniqueSearch('cep_id', 'microerp', 'Cep', 'id', 'cep');
  38. $banco = new TEntry('banco');
  39. $conta = new TEntry('conta');
  40. $agencia = new TEntry('agencia');
  41. $operacao = new TEntry('operacao');
  42. $filial_id = new TDBUniqueSearch('filial_id', 'microerp', 'Filial', 'id', 'nome');
  43. $cargo_id = new TDBUniqueSearch('cargo_id', 'microerp', 'Cargo', 'id', 'cargo');
  44. $supervisor_id = new TDBUniqueSearch('supervisor_id', 'microerp', 'Supervisor', 'id', 'nome');
  45. $data_admissao = new TDate('data_admissao');
  46. $data_demissao = new TDate('data_demissao');
  47. $status_funcionario_id = new TDBUniqueSearch('status_funcionario_id', 'microerp', 'StatusFuncionario', 'id', 'status_funcionario');
  48. $anexo = new TFile('anexo');
  49. $observacao = new TEntry('observacao');
  50. // add the fields
  51. $this->form->addFields( [ new TLabel('Id') ], [ $id ] );
  52. $this->form->addFields( [ new TLabel('Nome') ], [ $nome ] );
  53. $this->form->addFields( [ new TLabel('Rg') ], [ $rg ] );
  54. $this->form->addFields( [ new TLabel('Cpf') ], [ $cpf ] );
  55. $this->form->addFields( [ new TLabel('Pis') ], [ $pis ] );
  56. $this->form->addFields( [ new TLabel('Naturalidade Id') ], [ $naturalidade_id ] );
  57. $this->form->addFields( [ new TLabel('Sexo Id') ], [ $sexo_id ] );
  58. $this->form->addFields( [ new TLabel('Data Nascimento') ], [ $data_nascimento ] );
  59. $this->form->addFields( [ new TLabel('Telefone') ], [ $telefone ] );
  60. $this->form->addFields( [ new TLabel('Celular') ], [ $celular ] );
  61. $this->form->addFields( [ new TLabel('Uf Id') ], [ $uf_id ] );
  62. $this->form->addFields( [ new TLabel('Cidade Id') ], [ $cidade_id ] );
  63. $this->form->addFields( [ new TLabel('Bairro Id') ], [ $bairro_id ] );
  64. $this->form->addFields( [ new TLabel('Logradouro') ], [ $logradouro ] );
  65. $this->form->addFields( [ new TLabel('Numero') ], [ $numero ] );
  66. $this->form->addFields( [ new TLabel('Complemento') ], [ $complemento ] );
  67. $this->form->addFields( [ new TLabel('Cep Id') ], [ $cep_id ] );
  68. $this->form->addFields( [ new TLabel('Banco') ], [ $banco ] );
  69. $this->form->addFields( [ new TLabel('Conta') ], [ $conta ] );
  70. $this->form->addFields( [ new TLabel('Agencia') ], [ $agencia ] );
  71. $this->form->addFields( [ new TLabel('Operacao') ], [ $operacao ] );
  72. $this->form->addFields( [ new TLabel('Filial Id') ], [ $filial_id ] );
  73. $this->form->addFields( [ new TLabel('Cargo Id') ], [ $cargo_id ] );
  74. $this->form->addFields( [ new TLabel('Supervisor Id') ], [ $supervisor_id ] );
  75. $this->form->addFields( [ new TLabel('Data Admissao') ], [ $data_admissao ] );
  76. $this->form->addFields( [ new TLabel('Data Demissao') ], [ $data_demissao ] );
  77. $this->form->addFields( [ new TLabel('Status Funcionario Id') ], [ $status_funcionario_id ] );
  78. $this->form->addFields( [ new TLabel('Anexo') ], [ $anexo ] );
  79. $this->form->addFields( [ new TLabel('Observacao') ], [ $observacao ] );
  80. // set sizes
  81. $id->setSize('100%');
  82. $nome->setSize('100%');
  83. $rg->setSize('100%');
  84. $cpf->setSize('100%');
  85. $pis->setSize('100%');
  86. $naturalidade_id->setSize('100%');
  87. $sexo_id->setSize('100%');
  88. $data_nascimento->setSize('100%');
  89. $telefone->setSize('100%');
  90. $celular->setSize('100%');
  91. $uf_id->setSize('100%');
  92. $cidade_id->setSize('100%');
  93. $bairro_id->setSize('100%');
  94. $logradouro->setSize('100%');
  95. $numero->setSize('100%');
  96. $complemento->setSize('100%');
  97. $cep_id->setSize('100%');
  98. $banco->setSize('100%');
  99. $conta->setSize('100%');
  100. $agencia->setSize('100%');
  101. $operacao->setSize('100%');
  102. $filial_id->setSize('100%');
  103. $cargo_id->setSize('100%');
  104. $supervisor_id->setSize('100%');
  105. $data_admissao->setSize('100%');
  106. $data_demissao->setSize('100%');
  107. $status_funcionario_id->setSize('100%');
  108. $anexo->setSize('100%');
  109. $observacao->setSize('100%');
  110. if (!empty($id))
  111. {
  112. $id->setEditable(FALSE);
  113. }
  114. /** samples
  115. $fieldX->addValidation( 'Field X', new TRequiredValidator ); // add validation
  116. $fieldX->setSize( '100%' ); // set size
  117. **/
  118. // create the form actions
  119. $btn = $this->form->addAction(_t('Save'), new TAction([$this, 'onSave']), 'fa:save');
  120. $btn->class = 'btn btn-sm btn-primary';
  121. $this->form->addActionLink(_t('New'), new TAction([$this, 'onEdit']), 'fa:eraser red');
  122. // vertical box container
  123. $container = new TVBox;
  124. $container->style = 'width: 100%';
  125. // $container->add(new TXMLBreadCrumb('menu.xml', __CLASS__));
  126. $container->add($this->form);
  127. parent::add($container);
  128. }
  129. /**
  130. * Save form data
  131. * @param $param Request
  132. */
  133. public function onSave( $param )
  134. {
  135. try
  136. {
  137. TTransaction::open('microerp'); // open a transaction
  138. /**
  139. // Enable Debug logger for SQL operations inside the transaction
  140. TTransaction::setLogger(new TLoggerSTD); // standard output
  141. TTransaction::setLogger(new TLoggerTXT('log.txt')); // file
  142. **/
  143. $this->form->validate(); // validate form data
  144. $data = $this->form->getData(); // get form data as array
  145. $object = new Funcionario; // create an empty object
  146. $object->fromArray( (array) $data); // load the object with data
  147. $object->store(); // save the object
  148. $this->saveFile($object, $data, 'anexo', 'files/funcionario');
  149. // get the generated id
  150. $data->id = $object->id;
  151. $this->form->setData($data); // fill form data
  152. TTransaction::close(); // close the transaction
  153. new TMessage('info', AdiantiCoreTranslator::translate('Record saved'));
  154. }
  155. catch (Exception $e) // in case of exception
  156. {
  157. new TMessage('error', $e->getMessage()); // shows the exception error message
  158. $this->form->setData( $this->form->getData() ); // keep form data
  159. TTransaction::rollback(); // undo all pending operations
  160. }
  161. }
  162. /**
  163. * Clear form data
  164. * @param $param Request
  165. */
  166. public function onClear( $param )
  167. {
  168. $this->form->clear(TRUE);
  169. }
  170. /**
  171. * Load object to form data
  172. * @param $param Request
  173. */
  174. public function onEdit( $param )
  175. {
  176. try
  177. {
  178. if (isset($param['key']))
  179. {
  180. $key = $param['key']; // get the parameter $key
  181. TTransaction::open('microerp'); // open a transaction
  182. $object = new Funcionario($key); // instantiates the Active Record
  183. $this->form->setData($object); // fill the form
  184. TTransaction::close(); // close the transaction
  185. }
  186. else
  187. {
  188. $this->form->clear(TRUE);
  189. }
  190. }
  191. catch (Exception $e) // in case of exception
  192. {
  193. new TMessage('error', $e->getMessage()); // shows the exception error message
  194. TTransaction::rollback(); // undo all pending operations
  195. }
  196. }
  197. }
  198. ?>

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


MG

Erickson
Os tipos de dados do BD estão compatíveis com os tipos de dados que estão vindo do form?