Problema com TCheckGroup para inserir dados no BD Boa tarde a toda comunidade, Pablo e equipe. Gostaria muito de parabenizar a todos, mas principalmente ao Pablo pela excelente ferramenta. Venho do CodeIgniter, e estou engatinhando ainda neste ferramenta, mas pude perceber que o CodeIgniter esta bem atras do Adianti. Contudo gostaria muito de uma ajuda de vcs tenho um base de dados que é esta CREATE TABLE `prontuario` ( `idProntuar...
AR
Problema com TCheckGroup para inserir dados no BD  
Boa tarde a toda comunidade, Pablo e equipe.
Gostaria muito de parabenizar a todos, mas principalmente ao Pablo pela excelente ferramenta. Venho do CodeIgniter, e estou engatinhando ainda neste ferramenta, mas pude perceber que o CodeIgniter esta bem atras do Adianti.
Contudo gostaria muito de uma ajuda de vcs tenho um base de dados que é esta
CREATE TABLE `prontuario` ( `idProntuario` int(11) NOT NULL, `municipio` varchar(45) NOT NULL, `nomePaciente` varchar(45) NOT NULL, `dtNasc` date NOT NULL, `dtCadastro` date NOT NULL, `queixaPrincipal` varchar(255) NOT NULL, `hda` text NOT NULL, `hpp` varchar(45) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT NULL, `quaisHPP` varchar(255) DEFAULT NULL, `medicamentosUso` varchar(255) DEFAULT NULL, `prontuariocol` varchar(45) DEFAULT NULL, `fatorRisco` varchar(45) DEFAULT NULL, `quais` varchar(255) DEFAULT NULL, `exameFisico` text, `tc` varchar(45) DEFAULT NULL, `dtTC` date DEFAULT NULL, `resultadoTC` varchar(255) DEFAULT NULL, `rm` varchar(45) DEFAULT NULL, `dtRM` date DEFAULT NULL, `resultadoRM` varchar(255) DEFAULT NULL, `eeg` varchar(45) DEFAULT NULL, `dtEEG` date DEFAULT NULL, `resultadoEEG` varchar(255) DEFAULT NULL, `bioquimica` varchar(45) DEFAULT NULL, `dtBIOQUIMICA` date DEFAULT NULL, `resultadoBIOQUIMICA` varchar(255) DEFAULT NULL, `dosagemserica` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT NULL, `dtdosagemserica` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT NULL, `resultadodosagemserica` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT NULL, `HD` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL, `conduta` text CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL ) ENGINE=InnoDB DEFAULT CHARSET=utf8; CREATE TABLE `receituario` ( `idReceituario` int(11) NOT NULL, `idPaciente` int(11) NOT NULL, `prescricao` text NOT NULL, `dtPrescricao` date NOT NULL, `prontuario_idProntuario` int(11) NOT NULL ) ENGINE=InnoDB DEFAULT CHARSET=utf8; CREATE TABLE `retorno` ( `idRetorno` int(11) NOT NULL, `decRetorno` text, `idPaciente` int(11) NOT NULL, `prontuario_idProntuario` int(11) NOT NULL ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT=''; -- -- Índices para tabela `prontuario` -- ALTER TABLE `prontuario` ADD PRIMARY KEY (`idProntuario`); -- -- Índices para tabela `receituario` -- ALTER TABLE `receituario` ADD PRIMARY KEY (`idReceituario`,`prontuario_idProntuario`), ADD KEY `fk_receituario_prontuario1_idx` (`prontuario_idProntuario`); -- -- Índices para tabela `retorno` -- ALTER TABLE `retorno` ADD PRIMARY KEY (`idRetorno`,`prontuario_idProntuario`), ADD KEY `fk_retorno_prontuario_idx` (`prontuario_idProntuario`); -- -- AUTO_INCREMENT de tabela `prontuario` -- ALTER TABLE `prontuario` MODIFY `idProntuario` int(11) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=3; -- -- AUTO_INCREMENT de tabela `receituario` -- ALTER TABLE `receituario` MODIFY `idReceituario` int(11) NOT NULL AUTO_INCREMENT; -- -- AUTO_INCREMENT de tabela `retorno` -- ALTER TABLE `retorno` MODIFY `idRetorno` int(11) NOT NULL AUTO_INCREMENT; -- -- Restrições para despejos de tabelas -- -- -- Limitadores para a tabela `receituario` -- ALTER TABLE `receituario` ADD CONSTRAINT `fk_receituario_prontuario1` FOREIGN KEY (`prontuario_idProntuario`) REFERENCES `prontuario` (`idProntuario`); -- -- Limitadores para a tabela `retorno` -- ALTER TABLE `retorno` ADD CONSTRAINT `fk_retorno_prontuario` FOREIGN KEY (`prontuario_idProntuario`) REFERENCES `prontuario` (`idProntuario`); COMMIT;


E criei o seguinte Modelo

 
  1. <?php
  2. /**
  3. * Prontuario Active Record
  4. * @author <your-name-here>
  5. */
  6. class Prontuario extends TRecord
  7. {
  8. const TABLENAME = 'prontuario';
  9. const PRIMARYKEY= 'idProntuario';
  10. const IDPOLICY = 'serial'; // {max, serial}
  11. /**
  12. * Constructor method
  13. */
  14. public function __construct($id = NULL, $callObjectLoad = TRUE)
  15. {
  16. parent::__construct($id, $callObjectLoad);
  17. parent::addAttribute('municipio');
  18. parent::addAttribute('nomePaciente');
  19. parent::addAttribute('dtNasc');
  20. parent::addAttribute('dtCadastro');
  21. parent::addAttribute('queixaPrincipal');
  22. parent::addAttribute('hda');
  23. parent::addAttribute('hpp');
  24. parent::addAttribute('quaisHPP');
  25. parent::addAttribute('medicamentosUso');
  26. parent::addAttribute('prontuariocol');
  27. parent::addAttribute('fatorRisco');
  28. parent::addAttribute('quais');
  29. parent::addAttribute('exameFisico');
  30. parent::addAttribute('tc');
  31. parent::addAttribute('dtTC');
  32. parent::addAttribute('resultadoTC');
  33. parent::addAttribute('rm');
  34. parent::addAttribute('dtRM');
  35. parent::addAttribute('resultadoRM');
  36. parent::addAttribute('eeg');
  37. parent::addAttribute('dtEEG');
  38. parent::addAttribute('resultadoEEG');
  39. parent::addAttribute('bioquimica');
  40. parent::addAttribute('dtBIOQUIMICA');
  41. parent::addAttribute('resultadoBIOQUIMICA');
  42. parent::addAttribute('dosagemserica');
  43. parent::addAttribute('dtdosagemserica');
  44. parent::addAttribute('resultadodosagemserica');
  45. parent::addAttribute('HD');
  46. parent::addAttribute('conduta');
  47. }
  48. }
  49. </code>

e baseado neste modelo criei o seguinte formulário
 
  1. <?php
  2. /**
  3. * ProntuarioForm Form
  4. * @author <your name here>
  5. */
  6. class ProntuarioForm1 extends TPage
  7. {
  8. protected $form; // form
  9. /**
  10. * Form constructor
  11. * @param $param Request
  12. */
  13. public function __construct( $param )
  14. {
  15. parent::__construct();
  16. // creates the form
  17. $this->form = new BootstrapFormBuilder('form_Prontuario');
  18. $this->form->setFormTitle('Prontuario');
  19. $this->form->setFieldSizes('100%');
  20. // create the form fields
  21. $municipio = new TCombo('municipio');
  22. $nomePaciente = new TEntry('nomePaciente');
  23. $dtNasc = new TDate('dtNasc');
  24. $dtCadastro = new TDate('dtCadastro');
  25. $queixaPrincipal = new TEntry('queixaPrincipal');
  26. $hda = new TText('hda');
  27. $hpp = new TCheckGroup('hpp');
  28. $quaisHPP = new TEntry('quaisHPP');
  29. $medicamentosUso = new TEntry('medicamentosUso');
  30. $fatorRisco = new TCheckGroup('fatorRisco');
  31. $quais = new TEntry('quais');
  32. $exameFisico = new TText('exameFisico');
  33. $tc = new TCheckGroup('tc');
  34. $dtTC = new TDate('dtTC');
  35. $resultadoTC = new TEntry('resultadoTC');
  36. $rm = new TCheckGroup('rm');
  37. $dtRM = new TDate('dtRM');
  38. $resultadoRM = new TEntry('resultadoRM');
  39. $eeg = new TCheckGroup('eeg');
  40. $dtEEG = new TDate('dtEEG');
  41. $resultadoEEG = new TEntry('resultadoEEG');
  42. $bioquimica = new TCheckGroup('bioquimica');
  43. $dtBIOQUIMICA = new TDate('dtBIOQUIMICA');
  44. $resultadoBIOQUIMICA = new TEntry('resultadoBIOQUIMICA');
  45. $dosagemserica = new TCheckGroup('dosagemSérica');
  46. $dtdosagemserica = new TDate('dtDosagemSérica');
  47. $resultadodosagemserica = new TEntry('resultadoDosagemSérica');
  48. $HD = new TEntry('HD');
  49. $conduta = new TText('conduta');
  50. // Adicionando itens aos Checkbox e aos combos
  51. $itemsTC = ['TC'=>'TC'];
  52. $tc->addItems($itemsTC);
  53. $itemsMuni = ( ['São Lourenço' => 'São Lourenço', 'Cristina' => 'Cristina', 'Itanhandu' => 'Itanhandu'] );
  54. $municipio->addItems($itemsMuni);
  55. $hpp->setLayout('horizontal');
  56. $itemsHPP = ( ['HAS' => 'HAS ', 'DM' => ' DM ', 'OUTRAS' => ' OUTRAS'] );
  57. $hpp->addItems($itemsHPP);
  58. $fatorRisco->setLayout('horizontal');
  59. $itemsfatorRisco = ( ['Tabagista' => 'Tabagista ', 'Etilista' => ' Etilista ', 'Drogas Ilícitas' => ' Drogas Ilícitas'] );
  60. $fatorRisco->addItems($itemsfatorRisco);
  61. $itemsRM = ['RM'=>'RM'];
  62. $rm->addItems($itemsRM);
  63. $itemsEEG = ['EEG'=>'EEG'];
  64. $eeg->addItems($itemsEEG);
  65. $itemsbioquimica = ['BIOQUIMICA'=>'BIOQUÍMICA'];
  66. $bioquimica->addItems($itemsbioquimica);
  67. $itemsDS = ['DOSAGEM SERICA'=>'DOSAGEM SÉRICA'];
  68. $dosagemserica->addItems($itemsDS);
  69. // Adicionando Mascaras ao form
  70. $dtNasc->setMask('dd/mm/yyyy');
  71. $dtNasc->setDatabaseMask('yyyy-mm-dd');
  72. $dtCadastro->setMask('dd/mm/yyyy');
  73. $dtCadastro->setDatabaseMask('yyyy-mm-dd');
  74. $dtTC->setMask('dd/mm/yyyy');
  75. $dtTC->setDatabaseMask('yyyy-mm-dd');
  76. $dtRM->setMask('dd/mm/yyyy');
  77. $dtRM->setDatabaseMask('yyyy-mm-dd');
  78. $dtEEG->setMask('dd/mm/yyyy');
  79. $dtEEG->setDatabaseMask('yyyy-mm-dd');
  80. $dtBIOQUIMICA->setMask('dd/mm/yyyy');
  81. $dtBIOQUIMICA->setDatabaseMask('yyyy-mm-dd');
  82. $dtdosagemserica->setMask('dd/mm/yyyy');
  83. $dtdosagemserica->setDatabaseMask('yyyy-mm-dd');
  84. // add the fields
  85. $row = $this->form->addFields( [ new TLabel('Municipio'), $municipio ] ,
  86. [ new TLabel('Dt Cadastro'), $dtCadastro ] ,
  87. [ new TLabel('Nome Paciente'), $nomePaciente ] ,
  88. [ new TLabel('Dt Nasc'), $dtNasc ]);
  89. $row->layout = ['col-sm-3', 'col-sm-2', 'col-sm-5', 'col-sm-2' ];
  90. $this->form->addFields( [ new TLabel('Queixa Principal'), $queixaPrincipal ] );
  91. $this->form->addFields( [ new TLabel('HDA'), $hda ] );
  92. $row = $this->form->addFields( [ new TLabel('HPP'), $hpp ],
  93. [ new TLabel('Quais?'), $quaisHPP ] );
  94. $row->layout = ['col-sm-4', 'col-sm-8'];
  95. $this->form->addFields( [ new TLabel('Medic/tos Uso'), $medicamentosUso ] );
  96. $row = $this->form->addFields( [ new TLabel('Fator Risco'), $fatorRisco ] ,
  97. [ new TLabel('Quais'), $quais ] );
  98. $row->layout = ['col-sm-4', 'col-sm-8'];
  99. $this->form->addFields( [ new TLabel('Exame Fisico'), $exameFisico ] );
  100. $label2 = new TLabel('SOLICITAÇÃO DE EXAMES', '#5A73DB', 12, '');
  101. $label2->style='text-align:left;border-bottom:1px solid #c0c0c0;width:100%';
  102. $this->form->addContent( [$label2] );
  103. $row = $this->form->addFields([ $tc ] ,
  104. [ new TLabel('Dt TC'), $dtTC ] ,
  105. [ new TLabel('Resultado TC'), $resultadoTC ] );
  106. $row->layout = ['col-sm-2', 'col-sm-3', 'col-sm-7'];
  107. $label2 = new TLabel('RESSONÂNCIA MAGNÉTICA', '#5A73DB', 12, '');
  108. $label2->style='text-align:left;border-bottom:1px solid #c0c0c0;width:100%';
  109. $this->form->addContent( [$label2] );
  110. $row = $this->form->addFields( [ $rm ] ,
  111. [ new TLabel('Dt RM'), $dtRM ] ,
  112. [ new TLabel('Resultado RM'), $resultadoRM ] );
  113. $row->layout = ['col-sm-2', 'col-sm-3', 'col-sm-7'];
  114. $label2 = new TLabel('ELETROENCEFALOGRAMA - EEG', '#5A73DB', 12, '');
  115. $label2->style='text-align:left;border-bottom:1px solid #c0c0c0;width:100%';
  116. $this->form->addContent( [$label2] );
  117. $row = $this->form->addFields( [ $eeg ] ,
  118. [ new TLabel('Dt EEG'), $dtEEG ] ,
  119. [ new TLabel('Resultado EEG'), $resultadoEEG ] );
  120. $row->layout = ['col-sm-2', 'col-sm-3', 'col-sm-7'];
  121. $label2 = new TLabel('BIOQUÍMICA', '#5A73DB', 12, '');
  122. $label2->style='text-align:left;border-bottom:1px solid #c0c0c0;width:100%';
  123. $this->form->addContent( [$label2] );
  124. $row = $this->form->addFields( [ $bioquimica ] ,
  125. [ new TLabel('Dt Bioquimica'), $dtBIOQUIMICA ] ,
  126. [ new TLabel('Resultado Bioquimica'), $resultadoBIOQUIMICA ] );
  127. $row->layout = ['col-sm-2', 'col-sm-3', 'col-sm-7'];
  128. $label2 = new TLabel('DOSAGEM SÉRICA', '#5A73DB', 12, '');
  129. $label2->style='text-align:left;border-bottom:1px solid #c0c0c0;width:100%';
  130. $this->form->addContent( [$label2] );
  131. $row = $this->form->addFields([ $dosagemserica ],
  132. [ new TLabel('Dt D. Sérica'), $dtdosagemserica ] ,
  133. [ new TLabel('Resultado D. Sérica'), $resultadodosagemserica ] );
  134. $row->layout = ['col-sm-2', 'col-sm-3', 'col-sm-7'];
  135. $this->form->addFields( [ new TLabel('HD'), $HD ] );
  136. $this->form->addFields( [ new TLabel('Conduta'), $conduta ] );
  137. // set sizes
  138. $municipio->setSize('100%');
  139. $nomePaciente->setSize('100%');
  140. $dtNasc->setSize('100%');
  141. $dtCadastro->setSize('100%');
  142. $queixaPrincipal->setSize('100%');
  143. $hda->setSize('100%');
  144. $hpp->setSize('100%');
  145. $quaisHPP->setSize('100%');
  146. $medicamentosUso->setSize('100%');
  147. $fatorRisco->setSize('100%');
  148. $quais->setSize('100%');
  149. $exameFisico->setSize('100%');
  150. $tc->setSize('100%');
  151. $dtTC->setSize('100%');
  152. $resultadoTC->setSize('100%');
  153. $rm->setSize('100%');
  154. $dtRM->setSize('100%');
  155. $resultadoRM->setSize('100%');
  156. $eeg->setSize('100%');
  157. $dtEEG->setSize('100%');
  158. $resultadoEEG->setSize('100%');
  159. $bioquimica->setSize('100%');
  160. $dtBIOQUIMICA->setSize('100%');
  161. $resultadoBIOQUIMICA->setSize('100%');
  162. $dosagemserica->setSize('100%');
  163. $dtdosagemserica->setSize('100%');
  164. $resultadodosagemserica->setSize('100%');
  165. $HD->setSize('100%');
  166. $conduta->setSize('100%');
  167. if (!empty($idProntuario))
  168. {
  169. $idProntuario->setEditable(FALSE);
  170. }
  171. /** samples
  172. $fieldX->addValidation( 'Field X', new TRequiredValidator ); // add validation
  173. $fieldX->setSize( '100%' ); // set size
  174. **/
  175. // create the form actions
  176. $btn = $this->form->addAction(_t('Save'), new TAction([$this, 'onSave']), 'fa:save');
  177. $btn->class = 'btn btn-sm btn-primary';
  178. $this->form->addActionLink(_t('New'), new TAction([$this, 'onEdit']), 'fa:eraser red');
  179. // vertical box container
  180. $container = new TVBox;
  181. $container->style = 'width: 100%';
  182. // $container->add(new TXMLBreadCrumb('menu.xml', __CLASS__));
  183. $container->add($this->form);
  184. parent::add($container);
  185. }
  186. /**
  187. * Save form data
  188. * @param $param Request
  189. */
  190. public function onSave( $param )
  191. {
  192. try
  193. {
  194. TTransaction::open('prontuario'); // open a transaction
  195. /**
  196. // Enable Debug logger for SQL operations inside the transaction
  197. TTransaction::setLogger(new TLoggerSTD); // standard output
  198. TTransaction::setLogger(new TLoggerTXT('log.txt')); // file
  199. **/
  200. $this->form->validate(); // validate form data
  201. $data = $this->form->getData(); // get form data as array
  202. $object = new Prontuario; // create an empty object
  203. $object->fromArray( (array) $data); // load the object with data
  204. $object->store(); // save the object
  205. // get the generated idProntuario
  206. $data->idProntuario = $object->idProntuario;
  207. $this->form->setData($data); // fill form data
  208. TTransaction::close(); // close the transaction
  209. new TMessage('info', AdiantiCoreTranslator::translate('Record saved'));
  210. }
  211. catch (Exception $e) // in case of exception
  212. {
  213. new TMessage('error', $e->getMessage()); // shows the exception error message
  214. $this->form->setData( $this->form->getData() ); // keep form data
  215. TTransaction::rollback(); // undo all pending operations
  216. }
  217. }
  218. /**
  219. * Clear form data
  220. * @param $param Request
  221. */
  222. public function onClear( $param )
  223. {
  224. $this->form->clear(TRUE);
  225. }
  226. /**
  227. * Load object to form data
  228. * @param $param Request
  229. */
  230. public function onEdit( $param )
  231. {
  232. try
  233. {
  234. if (isset($param['key']))
  235. {
  236. $key = $param['key']; // get the parameter $key
  237. TTransaction::open('prontuario'); // open a transaction
  238. $object = new Prontuario($key); // instantiates the Active Record
  239. $this->form->setData($object); // fill the form
  240. TTransaction::close(); // close the transaction
  241. }
  242. else
  243. {
  244. $this->form->clear(TRUE);
  245. }
  246. }
  247. catch (Exception $e) // in case of exception
  248. {
  249. new TMessage('error', $e->getMessage()); // shows the exception error message
  250. TTransaction::rollback(); // undo all pending operations
  251. }
  252. }
  253. }
  254. </code>


Esta funcionando em parte efetuando o cadastro no banco que postei acima contudo os campos que constam com TCheckGroup não esta inserindo os valores em seus respectivos campos na tabela.

Está é minha dúvida como fazer para que este campo cadastre ou eu fiz alguma coisa errada que não percebi.

Desde já agradeço a atenção de vcs e aguardo ansioso um feedback

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


MC

Alex Boas,

Veirifique no seu formulario nas linhas 49/50/51 tem caracter estranhos, ve se isso ocorre no formulario real.

Use a função var_dump( $param ). no onSave para saber o que chega, e tambem no var_dump( $data ).

Assim vc terá uma posição do que esta chegando, nestes campos ou em qualquer outro que vc quizer..

var_dump( ) e o nosso anjo da guarda para depuração.
AR

Marcos muito obrigado pelo feedback ajustei as linha 49/50/51 e adicionei o var_dump() e o resultado foi este
object(stdClass)#234 (29) { ["municipio"]=> string(14) "São Lourenço" ["dtCadastro"]=> string(10) "2020-09-17" ["nomePaciente"]=> string(17) "ALEX XAVIER ROSAQ" ["dtNasc"]=> string(10) "1973-08-16" ["queixaPrincipal"]=> string(5) "TESTR" ["hda"]=> string(5) "teste" ["hpp"]=> array(1) { [0]=> string(3) "HAS" } ["quaisHPP"]=> string(0) "" ["medicamentosUso"]=> string(0) "" ["fatorRisco"]=> array(1) { [0]=> string(9) "Tabagista" } ["quais"]=> string(0) "" ["exameFisico"]=> string(0) "" ["tc"]=> array(1) { [0]=> string(2) "TC" } ["dtTC"]=> string(0) "" ["resultadoTC"]=> string(0) "" ["rm"]=> array(1) { [0]=> string(2) "RM" } ["dtRM"]=> string(0) "" ["resultadoRM"]=> string(0) "" ["eeg"]=> array(1) { [0]=> string(3) "EEG" } ["dtEEG"]=> string(0) "" ["resultadoEEG"]=> string(0) "" ["bioquimica"]=> array(1) { [0]=> string(10) "BIOQUIMICA" } ["dtBIOQUIMICA"]=> string(0) "" ["resultadoBIOQUIMICA"]=> string(0) "" ["dosagemserica"]=> array(1) { [0]=> string(14) "DOSAGEM SERICA" } ["dtDosagemserica"]=> string(0) "" ["resultadoDosagemserica"]=> string(0) "" ["HD"]=> string(0) "" ["conduta"]=> string(0) "" }
AR

Pessoal como faço para pegar este valor e onde?

["fatorRisco"]=> array(1) { [0]=> string(9) "Tabagista" } ["tc"]=> array(1) { [0]=> string(2) "TC" } ["rm"]=> array(1) { [0]=> string(2) "RM" }

Dentre os outros que utilizam o TCheckGroup
MC

Alex boas

 
  1. <?php
  2. $this->form->validate(); // Faz a validadação do seu formulario
  3. $data = $this->form->getData(); // get form data as array
  4. $object = new Prontuario; // Cria um objeto com a estrutura do Prontuario
  5. $object->fromArray( (array) $data); // Relaciona os campos da array $data com os campos do object criado acima
  6. ?>


Na estrura que retornou o var_dump($data), vc verá que cada string entre colchetes terá que ser igual
aos campos criados no $object ou seja:

$object->municipio = $data->municipio;

Caso seje diferente voce poderá atribui-lo da seguinte forma: lembre-se é um exemplo;

$object->municipio = 'São Paulo';
ou
$cidade = 'São Paulo'
$object->municipio = $cidade';

Lembrando que o PHP é casesensitive.

Mostro aqui tambem como vc acessa os dados, no caso do $param poderá "como exemplo" ser acessados desta forma
$param['municipio'];

var_dump( $param['municipio'] );

var_dump( $data->municipio );
MC

Alex,


notei tambem que esta retornando um array multidimencional,
hpp, fatorRisco, tc, e outros...
Neste caso, o relacionamento $object e $data irá falhar nestes campos, assim vc poderá preparar o valor e depois adciona-lo

["hpp"]=> array(1) { [0]=> string(3) "HAS"}

No exemplo acima vc pode acessar o valor da seguinte forma

$data->hpp[0] isso irá retornar o valor "HAS"

 
  1. <?php
  2. $this->form->validate(); // Faz a validadação do seu formulario
  3. $data = $this->form->getData(); // get form data as array
  4. $object = new Prontuario; // Cria um objeto com a estrutura do Prontuario
  5. $object->fromArray( (array) $data); // Relaciona os campos da array $data com os campos do object criado acima
  6. $object->hpp = $data->hpp[0];
  7. $object->store();
  8. ?>


No entanto se outros valore forem atribuidos, e vc quiser eles no mesmo campos vc terá que usar um "foreach" antes de atribuir o valor ao campo