Thread [DBIx::Class] prefetch, ->next() auf related tables
(6 answers)
Opened by Britzel at 2013-11-04 16:20
Moin.
Es existiert eine Haupttabelle 'Artikel', dazu eine 1:n table 'art2att', die Relation heisst 'art2atts'. Mit DBIx::Class hole ich mir ein ResultSet aus der Table 'artikel': Code: (dl
)
1 my $rs = $schema->resultset('Artikel')->search( So weit, so gut, funktioniert. Nun will ich auf das Resultset zugreifen. Das Problem besteht beim dereferenzieren eines Feldes der related table 'art2atts'. Man beachte: '$row->art2atts' ist ein Objekt vom Typ 'DBIx::Class::ResultSet'. Wenn ich das so mache: Code: (dl
)
1 while ( my $row = $rs->next ) { dann wird der erste Artikel endlos oft ausgegeben, d.h. $row->art2atts->next() iteriert nicht. Wenn ich hingegegen dieses innere ResulSet zunächst einer Variablen zuweise (siehe Zeile 6): Code: (dl
)
1 while ( my $row = $rs->next ) { dann geht das problemlos und wie gewünscht. Kann mich jemand erleuchten wo ich hier die Tomaten auf den Augen habe? Danke. Britzel |