Bruno,

Perai! Deixa eu entender.

1) Um post pertence a uma categoria certo?

ou

2) Um post pertece a várias categorias? (um post pode estar em duas
categorias ao mesmo tempo)

Assumindo o caso 1 acima:

A tabela (modelo) post deveria conter um campo chamado "categoria_id". Na
tabela categoria não precisa referenciar post mas, deve possuir uma chave
primária chamada id. No modelo post você fará uma relação "hasOne" para
categoria e no modelo categoria fará uma relação "hasMany" com post.

Até aqui, seus modelos parecem ok. Mas veja o SQL, ele pesquisa por "
Categoria.post_id" = [...]. Deveria ser "Categoria.id = Post.categoria_id".

Se o cake montou esse SQL sozinho, reveja suas declarações hasOne e hasMany
pois o campo post_id não existe na tabela Categoria (e nem deve existir).

Abraço,
Benito.

On Feb 8, 2008 7:20 PM, Bruno Trazzini <[EMAIL PROTECTED]> wrote:

>
> Poxa cara fiz os relacionamentos mas esta dando erro:
> *
> Query:* SELECT `Post`.`id`, `Post`.`categoria_id`, `Post`.`titulo`,
> `Categoria`.`id`, `Categoria`.`titulo` FROM `posts` AS `Post`
> LEFT JOIN `categorias` AS `Categoria` ON (`Categoria`.`entrada_id` =
> `Post`.`id`) WHERE 1 = 1
> *Warning*: *SQL Error:* 1054: Unknown column 'Categoria.post_id' in 'on
> clause' in
> */home/bru/Sites/cake/cake/libs/model/datasources/dbo_source.php* on
> line *440*
>
> TABELAS:
> categorias
> id int
> titulo varchar
>
> posts
> id
> titulo
> categoria_id
>
>
> MODELOS:
> post model
> var $hasOne = 'Categoria';
>
> categoria model
> var $hasMany = 'Entrada';**
>
> >
>

--~--~---------~--~----~------------~-------~--~----~
Você recebeu esta mensagem porque está inscrito no Grupo "Cake PHP Português" 
em Grupos do Google.
 Para postar neste grupo, envie um e-mail para cake-php-pt@googlegroups.com
 Para cancelar a sua inscrição neste grupo, envie um e-mail para [EMAIL 
PROTECTED]
 Para ver mais opções, visite este grupo em 
http://groups.google.com/group/cake-php-pt?hl=pt-BR
-~----------~----~----~----~------~----~------~--~---

Responder a