Thread DBIx::Class (10 answers)
Opened by bloonix at 2007-03-28 03:23

bloonix
 2007-03-28 03:23
#75471 #75471
User since
2005-12-17
1615 Artikel
HausmeisterIn
[Homepage]
user image
Hallo Community,

vor kurzem bin ich auf den Geschmack von CPAN:DBIx::Class gekommen und habe
auch sogleich eine Frage auf dem Herzen.

Ich versuche gerade jede Zeile als Hashref in ein Array zu pushen,
was man unter DBI wie folgt kennt:

Code: (dl )
1
2
3
while (my $row = $sth->fetchrow_hashref()) {
  push @rows, $row;
}


Nun versuche ich das Ganze mit DBIC zu lösen, aber leider liefert
get_columns() keine Hashreferenz zurück, was ich unschön finde,
da die gesamte Zeile in einen neuen Hash kopiert wird:

Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
my @rs = $dbix->resultset('TestDB_1')->all;

foreach my $row (@rs) {

   # so ist es üblich, aber die gesamte Zeile wird
   # kopiert, was ich nicht so toll finde
   push @rows1, { $row->get_columns };

   # so funktioniert es zwar, ist aber unsinnig,
   # da direkt auf das Objekt zugegriffen wird
   push @rows2, $row->{_column_data};

   # so haette ich es am liebsten... das immer eine
   # Referenz zurueck gegeben wird, aber das klappt
   # natürlich nicht, da get_columns %HASH zurück liefert
   push @rows3, $row->get_columns;
}


Gibt es vielleicht noch eine andere Möglichkeit?

Gruss,
opi\n\n

<!--EDIT|opi|1175104829-->
What is a good module? That's hard to say.
What is good code? That's also hard to say.
One man's Thing of Beauty is another's man's Evil Hack.

View full thread DBIx::Class