$this->data vem vazio

20 views
Skip to first unread message

Humberto Cruz

unread,
Nov 6, 2009, 8:08:14 PM11/6/09
to cakep...@googlegroups.com
Pessoal, boa noite... eh meio complicado explicar o que esta
acontecendo porque nem eu mesmo sei... estou fazendo uma aplicacao, e
tudo ia vindo bem. Ate que em um controller especifico, tem um metodo
com um formulario ( que fiz normalmente igual aos outros ), e ao dar o
submit, as informacoes nao chegam no controller.. o $this->data vem
vazio. Ja tentei de tudo, e tem 2 horas que estou tentando resolver
isso e nada...

aqui esta minha view:

http://pastebin.com/d5c88e2bc

e meu controller

http://pastebin.com/m7abf0592

o problema eh no metodo gravar_boletos... o pr($this->data) vem vazio

la no final, o metodo retorno() funciona normalmente

a model nao tem nada, coloquei apenas $useTable = false; na sua declaracao

se alguem tiver uma luz...

obrigado
Humberto

Mauro Thiago

unread,
Nov 7, 2009, 10:11:46 AM11/7/09
to cakep...@googlegroups.com
Uma coisa que vi, é que seu controller está esperando um id, mas como está dado como null, até ai trankilo,
pois não está sendo usado.
Tente no primeiro pr($this->data) dar um
die();

Para saber se até ali ele mostra algo,
pois depois do pr... ele possui uns tratamentos, pode estar se perdendo ali.

e na linha 24 e 25 pode eliminar e deixar assim:

<?php echo $form->end('Gerar Boleto');?>

Com isso já faz a criação do submit que precisa e finaliza o form.

Mande os feeback para acompanharmos.

Thiago
www.sotecnologia.eti.br





2009/11/6 Humberto Cruz <humber...@gmail.com>

Marcelo Andrade

unread,
Nov 7, 2009, 10:17:31 AM11/7/09
to cakep...@googlegroups.com
2009/11/6 Humberto Cruz <humber...@gmail.com>:
>
> (..)

> aqui esta minha view:
> http://pastebin.com/d5c88e2bc

Claro que vem vazio. Estás modificando o name do
campo. Para preencher o $this->data, para um campo
PedidosCampanhaId, o Cake deve gerar um input assim

<input type="text" name="data['PedidosCampanha']['id']"
id="PedidosCampanhaId" value="" />

Dá um debug($_POST) && exit; no controller que deves
perceber melhor.
Pra resolver, tira o parâmetro name que as coisas devem
dar certo.

Atenciosamente.

--
MARCELO DE F. ANDRADE
Belem, PA, Amazonia, Brazil
Linux User #221105

Humberto Cruz

unread,
Nov 7, 2009, 7:44:47 PM11/7/09
to cakep...@googlegroups.com
Valeu Marcelo.. foi so tirar o name que deu tudo certo... mais uma
dica que eu aprendi: nao usar name nos forms :)

obrigado
Humberto

2009/11/7 Marcelo Andrade <mfan...@gmail.com>:

Marcelo Andrade

unread,
Nov 8, 2009, 3:37:33 PM11/8/09
to cakep...@googlegroups.com
2009/11/7 Humberto Cruz <humber...@gmail.com>:

>
> Valeu Marcelo.. foi so tirar o name que deu tudo certo... mais uma
> dica que eu aprendi: nao usar name nos forms :)
>
> obrigado
> Humberto

Hehehe... Disponha! Eu já tinha apanhado
exatamente para esse mesmo problema antes :-P.

Aproveitando o embalo, só pra dizer: se por acaso
quiseres um form meio "solto" com os nomes dos
campos normal, podes só dar um 'model'=> false
no form create. É mais um recurso que podes usar
em alguns casos como esse.

Fernando Z. Bob

unread,
Nov 7, 2009, 6:42:20 AM11/7/09
to cakep...@googlegroups.com
Humberto, tenta fazer na sua view da seguinte maneira:


ao invés disso:
  1. echo $form->submit('Gerar Boleto');
  2. echo $form->end();


Use isso:
  1. echo $form->end('Gerar Boleto');

Diz se deu acerto

Att
Fernando

2009/11/6 Humberto Cruz <humber...@gmail.com>

Humberto Cruz

unread,
Nov 16, 2009, 8:46:19 AM11/16/09
to cakep...@googlegroups.com
Valeu Fernando.. mas nao era isso nao... já me ajudaram aqui na lista... o negocio era que eu estava usando "name"=> nos meus campos, e por isso os campos nao iam dentro do objeto data. Foi so tirar o name que deu tudo certo !!!

obrigado
Humberto

2009/11/7 Fernando Z. Bob <fzma...@gmail.com>
Reply all
Reply to author
Forward
0 new messages