[Cascavel-pm] DBIx::Class - buscando dados de uma tabela de ligação

Wallace Reis reis.wallace em gmail.com
Segunda Novembro 26 04:38:18 PST 2007


On Nov 26, 2007 12:07 PM, Donato Azevedo <donatoaz em gmail.com> wrote:
> Eu tenho um relacionamento many_to_many entre veiculos e pecas, e a tabela
> de relacionamento, veiculo_peca, contem alguns dados extras (alem dos ids do
> veiculo e da peca).

Existe também dois rel do tipo has_many: 'veiculos' -> 'veiculo_peca'
e 'pecas' -> 'veiculo_peca'.

> Qual a melhor forma de buscar estes dados quando pesquisando pelas pecas de
> um veiculo?
>
> Tipo:
>
> my $car = $schema->resultset('Veiculo')->find(1);
> my $part = $car->pecas->first;

my $part = $car->nome_do_rel_has_many->first;
#...

> o campo quantidade é uma coluna da tabela de ligação, porém seria
> interessante que o objeto $part contivesse este dado, já que está ligado ao
> objeto $car... (ou não?)

daquele modo você pode chamar: $part->quantidade;

> O que eu estava fazendo é o seguinte:
>  criei um metodo em Veiculo que busca a row de ligacao, tipo:
> my $relship = $car->fetch_relationship_row( $part );

http://search.cpan.org/~ash/DBIx-Class-0.08008/lib/DBIx/Class/Relationship.pm#many_to_many

[]'s

-- 
wallace reis/wreis
http://wallace.reis.org.br


Mais detalhes sobre a lista de discussão Cascavel-pm