[Cascavel-pm] DBIx::Class - buscando dados de uma tabela de ligação
Donato Azevedo
donatoaz em gmail.com
Segunda Novembro 26 04:07:09 PST 2007
Olá pessoal,
estou com uma duvida sobre o DBIx::Class, eu ja tive este problema antes mas
acho que a forma que usei pra resolver foi meio gambiarra...
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).
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;
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?)
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 );
que é mais ou menos assim:
sub fetch_relationship_row
{
my $self = shift;
my $part = shift;
return $self->veiculo_pecas->find( $self->id, $part->id );
}
mas acho que deve ter algo mais elegante pra fazer usando proxies ou coisas
do tipo....
alguma luz?
abraços!!!
--
Donato Azevedo
-------------- Próxima Parte ----------
Um anexo em HTML foi limpo...
URL: http://mail.pm.org/pipermail/cascavel-pm/attachments/20071126/c919f419/attachment.html
Mais detalhes sobre a lista de discussão Cascavel-pm