Ir para conteúdo

POWERED BY:

Arquivado

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

natanaelrw

[Resolvido] Dificuldade em usar $hasMany

Recommended Posts

Bom dia,

 

Estou começando com cakephp e estou a uns 3 dias apanhando pro tal do $hasMany.

 

O caso é o seguinte, tenho a tabela projeto e a tabela galeria

 

## Tabela Projeto

id

projeto

descricao

link

## Tabela Galeria

id

projeto_id

imagem

 

Dai tenho o controller o model

 

## CONTROLLER PROJETO

 

class ProjetosController extends AppController {

	var $name = 'Projetos';
	var $uses = array('Projetos');
	var $helpers = array('Html');

	function index() {
		$this->set("array",$this->Projetos->findAll());
	}
}

## MODEL PROJETO

class Projeto extends AppModel {

	var $name = 'Projeto';
	var $hasMany ="Galeria";

}

O retorno que tenho no debug é : SELECT `Projetos`.`id`, `Projetos`.`projeto`, `Projetos`.`descricao`, `Projetos`.`link` FROM `projetos` AS `Projetos` WHERE 1 = 1

 

Já usei o hasmany fazendo a declaracao dos arrays etc... como tem no exemplo do cakephp...mas nada deu certo

 

alguém sabe me dizer onde estou errando? porque não vem as imagens junto?

 

Obrigado

Compartilhar este post


Link para o post
Compartilhar em outros sites

Tente isso:

 

models/projeto.php

class Projeto extends AppModel {
	var $name = 'Projeto';
	var $hasMany = array('Galeria'); // Cada Projeto tem várias Galeria
}
models/galeria.php

class Galeria extends AppModel {
	var $name = 'Galeria';
	var $belongsTo = array('Projeto'); // Cada Galeria pertence a um Projeto
}
controllers/projetos_controller.php

class ProjetosController extends AppController {
	var $name = 'Projetos';
	var $uses = array('Projeto'); // Use o model Projeto (padrão)
	var $helpers = array('Html');

	function index() {
		$this->set("array",$this->Projeto->findAll());
	}
}

--

 

Adicionei o $belongsTo no model Galeria e fiz uma correção no ProjetosController onde você tinha colocado "Projeto" no plural.

 

Abraços!

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.