EZ
Valor ID adicionar Linha
Boa tarde,
Estou começando no Adianti Framework e até agora estou conseguindo fazer o que preciso mas me reparei com uma necessidade e não estou conseguindo...
Tenho um form para cadastro de contatos utilizando BootstrapFormBuilder com abas em uma aba eu tenho os contatos vinculados nessa pessoa, até ai tudo bem, o problema que não estou conseguindo é na aba contatos eu tenho um botão add, para inserir mais uma linha de contatos e preciso enviar o id da pessoa para fazer o vinculo, mas não estou conseguindo fazer isso, eu tenho esse function que inclui mais uma linha de contatos e preciso que o campo pc_pessoa traga o id principal que está na url
Estou começando no Adianti Framework e até agora estou conseguindo fazer o que preciso mas me reparei com uma necessidade e não estou conseguindo...
Tenho um form para cadastro de contatos utilizando BootstrapFormBuilder com abas em uma aba eu tenho os contatos vinculados nessa pessoa, até ai tudo bem, o problema que não estou conseguindo é na aba contatos eu tenho um botão add, para inserir mais uma linha de contatos e preciso enviar o id da pessoa para fazer o vinculo, mas não estou conseguindo fazer isso, eu tenho esse function que inclui mais uma linha de contatos e preciso que o campo pc_pessoa traga o id principal que está na url
- <?php
- /**
- * Add contact row
- */
- public function addContatoRow($item)
- {
-
- $uniqid = mt_rand(1000000, 9999999);
-
- $pc_tipo = new TEntry('pc_tipo[]');
- $pc_tipo->{'data-row'} = $this->detail_row;
- $pc_tipo->setId('pc_tipo_'.$uniqid);
- $pc_tipo->setSize('100%');
-
- if (!empty($item->pc_tipo))
- {
- $pc_tipo->setValue($item->pc_tipo);
- }
-
- $pc_pessoa = new TEntry('pc_pessoa');
- $pc_pessoa->{'data-row'} = $this->detail_row;
- $pc_pessoa->setId('pc_pessoa_'.$uniqid);
- $pc_pessoa->setSize('100%');
-
- if(!empty($item->pc_pessoa))
- {
- $pc_pessoa->setValue($item->pc_pessoa);
- }else{
- $pc_pessoa->setValue($_GET['key']);
- }
-
- $pc_fone = new TEntry('pc_fone');
- $pc_fone->{'data-row'} = $this->detail_row;
- $pc_fone->setId('pc_fone_'.$uniqid);
- $pc_fone->setSize('100%');
-
- if(!empty($item->pc_fone))
- {
- $pc_fone->setValue($item->pc_fone);
- }
-
- // create delete button
- $del = new TImage('fa:trash-o red');
- $del->onclick = 'ttable_remove_row(this)';
- $row = $this->table_contatos->addRowSet( $pc_tipo,$pc_pessoa, $pc_fone, $del );
- $row->{'data-row'} = $this->detail_row;
-
- $this->form->addField($pc_tipo);
- $this->form->addField($pc_pessoa);
- $this->form->addField($pc_fone);
-
- $this->detail_row ++;
- }
- ?>
Não entendi por que você precisa vincular os contatos com pessoa_id nesse momento. Geralmente isso é feito na hora de salvar(função onSave).
Então,
Pode até ser que o método correto seja ja na hora do onSave e eu esteja viajando na maionese, como disse estou começando agora no adianti, mas se na sua opinião o melhor caminho é no onSave vou tentar...
Agora estou com o seguinte problema,
Quando clico em salvar:
Argument 1 passed to TbPessoas::addContato() must be an instance of Contato, instance of TbPessoasContatos given, called in C:xampphtdocscrescer2appcontrolsecretariaTbPessoasForm3.class.php on line 93 and defined
e a minha função onSave está assim:
Edson, isso parece ser problema no relacionamento entre os models. A função addContato do model TbPessoas espera receber um objeto do tipo Contato e você está passando objetos TbPessoasContatos.
Verdade, era isso mesmo...
Obrigado