[SP-pm] DBIx::Class - Problema com related data

eutsiv :: Geovanny Junio geovanny at eutsiv.com.br
Mon Mar 15 18:43:07 PDT 2010


Olá Companheiros, tudo bem?

Não estou conseguindo resolver um problema com DBIx::Class, com certeza é
uma cagada muito grande minha, mas apesar de grande ainda não consegui
enxergar.
O código é o seguinte:

my $rs = $c->model('UaiGo::Location');
my @temp = $rs->search(undef, { prefetch => 'location_translations',
order_by => { -asc => 'name' } })->all();

foreach my $trow (@temp) {
    $c->log->debug($trow->id); # acesso a colunas da tabela principal
funciona
    $c->log->debug($trow->locations_translations->coluna_exemplo);  # acesso
a colunas da tabela do join não funciona, isso dá o erro: can't locate
method coluna_exemplo.....
}

$c->stash->{location} = \@temp;

A linha que coloquei de debug, gera um erro, alegando que o método
coluna_exemplo não existe. Mas o interessante, é que pelo Template funciona:

[% FOREACH teste IN c.stash.location %]
    [% teste.locations_translations.coluna_exemplo %] # Imprime o conteúdo
da coluna corretamente
[% END %]

Com certeza estou cometendo algum erro infantil, mas já li a documentação e
o cookbook do DBIx::Class e não consegui resolver.

Grato,

--
Geovanny Junio
Consultor de Tecnologia
geovanny (at) eutsiv.com.br
+55 31 9422-8885
+55 31 3393-9132
www.eutsiv.com.br

Este e-mail pode conter informação privilegiada e confidencial. Se você não
é destinatário da
mensagem, por favor apague a mensagem e comunique-nos o fato de imediato.

This e-mail contains information that may be
privileged and confidential. If you are not the intended recipient, please
delete the e-mail and notify us immediately.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.pm.org/pipermail/saopaulo-pm/attachments/20100315/bce4728c/attachment.html>


More information about the SaoPaulo-pm mailing list