Cara mas esta não é uma relação de n:n certo?
O problema está no nome da tabela!
Se for de 1:n uma categoria tem varios links, ai a tabela "links" teria que
ter um campo categoria_id
Se for de n:1 um link tem varias categorias, ai a tabela "categorias" teria
que ter um campo link_id

No ORM só existe um nome de tabala como "categoria_link" se for de n:n, ;)

Faz o teste!

2010/4/13 t0th <[email protected]>

> Olá,
>
> a tabela categorias_links tem varios links
> um link tem uma categoria_link (o banco está legal)
>
> como posso fazer isso com orm?
>
> fiz e dá o erro relatado acima!
>
> On 12 abr, 23:24, renan vaz <[email protected]> wrote:
> > Isso msm! apenas links e não categorias_links!
> >
> > 2010/4/12 Gustavo Diogo <[email protected]>
> >
> > >  Ou seria uma categoria tem varios links?
> > > se for esse o caso, vc deveria fazer uma table categoria e outra links.
> > > em links, vc teria categoria_id.
> > > acho q isso resolveria.
> >
> > > t0th escreveu:
> >
> > > Olá,
> >
> > > não tem tabela pivot..
> > > uma categorias_links tem varios links, então não existe muito pra
> > > muitos!
> >
> > > alguem pode me ajudaR?
> >
> > > abraço
> >
> > > On 12 abr, 15:16, Gustavo Diogo <[email protected]> <[email protected]>
> wrote:
> >
> > >  Algu�m respondeu?
> >
> > > Acho que falta informa��o. A tabela categoria_link parece ser uma
> tabela
> > > pivot.
> > > Entao vc teria q fazer tipo
> >
> > > class Link_Model extends ORM
> > > {
> > >         protected $has_many_and_belongs_to = array('categoria');
> > >         ...
> > >         ...
> >
> > > T� certo?
> >
> > > t0th escreveu:
> >
> > >  Ol�,
> >
> > >  vai meu cen�rio:
> >
> > >  Model Link:
> >
> > >  <?php
> > > defined('SYSPATH') or die('No direct script access.');
> >
> > >  class Link_Model extends ORM
> > > {
> > >    protected $primary_key = 'id';
> > >    protected $table_name = 'links';
> > >    protected $belongs_to = array('categoria_link');
> > >         protected $load_with = array('categoria_link');
> > >  }
> > > ?>
> >
> > >  Model Categoria_Link:
> > > <?php
> > > defined('SYSPATH') or die('No direct script access.');
> >
> > >  class Categoria_Link_Model extends ORM
> > > {
> > >    protected $table_name = 'categorias_links';
> > >    protected $has_many = array('links');
> > >    protected $foreign_key = array('links' => 'categorias_links_id');
> > > }
> > > ?>
> >
> > >  controller: $links = ORM::factory('Link')->find_all();
> >
> > >  erro:
> > > There was an SQL error: Coluna 'links.link_id' desconhecida em 'on
> > > clause' - SELECT `links`.*, `categoria_link`.`id` AS
> > > `categoria_link:id`, `categoria_link`.`nome` AS `categoria_link:nome`,
> > > `categoria_link`.`sef` AS `categoria_link:sef` FROM (`links`) LEFT
> > > JOIN `categorias_links` AS `categoria_link` ON (`categoria_link`.`id`
> > > = `links`.`link_id`) ORDER BY `links`.`id` ASC
> >
> > >  o problema � que esse atributo link_id n�o existe em links...
> >
> > >  alguem pode me ajudar?
> >
> > >  obrigado e espero resposta
> >
> > >  --
> > >
> ------------------------------------------------------------------------
> > > Gustavo Diogo
> > >  Cel: (21) 8622-8236
> >
> > > --
> > > ------------------------------
> > > Gustavo Diogo
> > >  Cel: (21) 8622-8236
> >
> > > --
> > > Você está recebendo esta mensagem porque se inscreveu no grupo "Kohana
> Php"
> > > dos Grupos do Google.
> > > Para postar neste grupo, envie um e-mail para
> [email protected].
> > > Para cancelar a inscrição nesse grupo, envie um e-mail para
> > > [email protected]<kohana-php%[email protected]>
> <kohana-php%[email protected]<kohana-php%[email protected]>
> >
> > > .
> > > Para obter mais opções, visite esse grupo em
> > >http://groups.google.com/group/kohana-php?hl=pt-BR.
>
> --
> Você está recebendo esta mensagem porque se inscreveu no grupo "Kohana Php"
> dos Grupos do Google.
> Para postar neste grupo, envie um e-mail para [email protected].
> Para cancelar a inscrição nesse grupo, envie um e-mail para
> [email protected]<kohana-php%[email protected]>
> .
> Para obter mais opções, visite esse grupo em
> http://groups.google.com/group/kohana-php?hl=pt-BR.
>
>

-- 
Você está recebendo esta mensagem porque se inscreveu no grupo "Kohana Php" dos 
Grupos do Google.
Para postar neste grupo, envie um e-mail para [email protected].
Para cancelar a inscrição nesse grupo, envie um e-mail para 
[email protected].
Para obter mais opções, visite esse grupo em 
http://groups.google.com/group/kohana-php?hl=pt-BR.

Responder a