Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

fekz

[Resolvido] HasMany não funciona em produção

Recommended Posts

Pessoal, estou desenvolvendo um aplicativo e em determinado momento usei a associação hasmany

 

class EventosFoto extends AppModel {

   var $belongsTo = array('Evento');

}

 

 

class Evento extends AppModel {
   var $hasMany = array('EventosFoto'=>array('className' => 'EventosFoto','foreignKey' => 'eventos_id'));
}

 

Acontece que no meu localhost ele traz certinho as informações quando eu dou um $this->Evento->findById();

Ele traz um array do Evento e um do EventosFoto...

Aí eu subo o arquivo para o ar e não funciona, só vem o array Evento..

 

Alguém tem idéia do que pode ser?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Veja se as aplicações estão realemte iguais, e se o banco de dados também está igual e com os devidos relacionamentos.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Cara, está igualzinho.

 

Eu terminei de fazer a página e subi.

 

Na hora que eu puis hasMany, no meu localhost ele dá um DESCRIBE na tabela EventoFoto, no ar, não.

 

Muito estranho.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Cara, está igualzinho.

 

Eu terminei de fazer a página e subi.

 

Na hora que eu puis hasMany, no meu localhost ele dá um DESCRIBE na tabela EventoFoto, no ar, não.

 

Muito estranho.

O DESCRIBE ele só faz 1 vez quando o "debug" está definido como 0.

Depois ele usa o cache da pasta tmp/cache/models.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Tudo bem, mas mesmo assim não está funcionando.

 

O Array EventosFoto não vem junto quando eu dou um $this->Evento->find();

 

E no meu localhost funciona.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Tudo bem, mas mesmo assim não está funcionando.

 

O Array EventosFoto não vem junto quando eu dou um $this->Evento->find();

 

E no meu localhost funciona.

Deve haver alguma diferença entre sua aplicação ou banco de dados de produção e desenvolvimento.

Se funciona em um, deve funcionar no outro, se forem aplicações iguais.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Cara, em questão de aplicação está tudo OK, tem as mesmas tabelas, os mesmos arquivos, porque eu subi tudo igualzinho.

Só se for alguma configuração de servidor, sei la. Se alguém puder dar uma olhada pra mim, está tudo certinho, creio eu.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Cara, em questão de aplicação está tudo OK, tem as mesmas tabelas, os mesmos arquivos, porque eu subi tudo igualzinho.

Só se for alguma configuração de servidor, sei la. Se alguém puder dar uma olhada pra mim, está tudo certinho, creio eu.

Isso não é pra ser servidor.

Verifique as chaves estrangeiras em seu banco.

Verifique se o evento que você está consultando tem foto.

 

você pode tentar inserir um

$this->Evento->recursive = 1;

para ver se ele encontra os outros resultados.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Tem foto sim.

A chave estrangeira NO banco não está como foreign_key, somente no cakephp, tanto em produção como no localhost tbm.

 

Se fosse obrigatório colocar chave estrangeira não funcionaria no meu localhost tbm. Eu tenho o campo eventos_id na tabela EventosFoto e no cakephp coloquei 'foreigKeu' => 'eventos_id'!

 

O que esse recursive faz?? Se você puder me mandar um PVC eu te passo os arquivos e voce se tiver um tempinho claro, pode dar uma olhada.

 

Obrigado.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Tem foto sim.

A chave estrangeira NO banco não está como foreign_key, somente no cakephp, tanto em produção como no localhost tbm.

 

Se fosse obrigatório colocar chave estrangeira não funcionaria no meu localhost tbm. Eu tenho o campo eventos_id na tabela EventosFoto e no cakephp coloquei 'foreigKeu' => 'eventos_id'!

 

O que esse recursive faz?? Se você puder me mandar um PVC eu te passo os arquivos e voce se tiver um tempinho claro, pode dar uma olhada.

 

Obrigado.

http://book.cakephp.org/pt/view/1063/recursive

$this->Evento->recursive = 1;
$this->Evento->findById();

 

Mas ainda acredito que você tenha alguma diferença do seu produção e seu localhost que passou despercebida.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Procurei em tudo não achei nada. Você pode me ajudar dando uma olhada nos arquivos?

 

O recursive não adianta msm

Compartilhar este post


Link para o post
Compartilhar em outros sites

Procurei em tudo não achei nada. Você pode me ajudar dando uma olhada nos arquivos?

 

O recursive não adianta msm

Tente explicar melhor por aqui mesmo.

Cole o conteúdo das models que estão em produção.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Cara, eu descobri outro erro.

 

Por exemplo, tenho um controller barcos_controller.php

 

no Arquivo eu coloco $uses = array('Barco');

 

Aí se eu der um pr($this->Barco) ele não está com uma instancia da classe Barco, e sim uma instância automática que ele gera pro controller, conectando na tabela que termina com o nome dele + S no caso barcos...

 

No meu model Barco, eu tenho umas validações... e tenho o hasmany tbm... mas ele não tá usando o model certo, ele tá usando o app_model...

 

tem alguma configuração de servidor que pode alterar isso?

 

Pq no meu localhost funciona, em produção não... to usando locaweb.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Acho que devia mudar até o titulo pra 'Model não funciona', pq nada que está no model funciona, não só o has many

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.