DBIx::Class::ResultSet::HashRef - Adds syntactic sugar to skip the fancy objects
# in your resultsource class __PACKAGE__->resultset_class( 'DBIx::Class::ResultSet::HashRef' ); # in your calling code my $rs = $schema->resultset('User')->search( { } )->hashref_rs; while (my $row = $rs->next) { print Dumper $row; } You can chain up every L<DBIx::Class::ResultSet> method to ->hashref_rs: * ->hashref_rs->all (same as ->hashref_array) * ->hashref_rs->first (same as ->hashref_first)
This is a simple way to allow you to set result_class to DBIx::Class::ResultClass::HashRefInflator to skip the fancy objects.
perl Makefile.PL make make test make install
Sets result_class to DBIx::Class::ResultClass::HashRefInflator and returns the resultset.
Calls ->hashref_rs->all and returns depending on the calling context an array or an reference to an array.
my $rs = $schema->resultset('User')->search( { } )->hashref_array; print Dumper $rs; my @rs = $schema->resultset('User')->search( { } )->hashref_array; print Dumper @rs;
Returns the first row of the resultset inflated by DBIx::Class::ResultClass::HashRefInflator.
my $first_row = $schema->resultset('User')->search( { } )->hashref_first; print Dumper $first_row
Returns a hash or reference to hash, depending on the calling context. The keys of the hash are the primary keys of each row returned by "hashref_array( )":
{ 1 => { 'id' => '1', 'login' => 'root' }, 2 => { 'id' => '2', 'login' => 'toor' }, }
Example usage:
my $hashref_pk = $schema->resultset('User')->search( { } )->hashref_pk; print Dumper $hashref_pk
Johannes Plunien <plu@cpan.org>
Robert Bohne <rbo@cpan.org>
Copyright 2008 by Johannes Plunien
This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself.
Thanks to mst for his patience.
DBIx::Class
DBIx::Class::ResultClass::HashRefInflator
To install DBIx::Class::ResultSet::HashRef, copy and paste the appropriate command in to your terminal.
cpanm
cpanm DBIx::Class::ResultSet::HashRef
CPAN shell
perl -MCPAN -e shell install DBIx::Class::ResultSet::HashRef
For more information on module installation, please visit the detailed CPAN module installation guide.