Provided by: libmojo-pg-perl_4.04-1_all bug

NAME

       Mojo::Pg::Results - Results

SYNOPSIS

         use Mojo::Pg::Results;

         my $results = Mojo::Pg::Results->new(sth => $sth);
         $results->hashes->map(sub { $_->{foo} })->shuffle->join("\n")->say;

DESCRIPTION

       Mojo::Pg::Results is a container for DBD::Pg statement handles used by Mojo::Pg::Database.

ATTRIBUTES

       Mojo::Pg::Results implements the following attributes.

   db
         my $db   = $results->db;
         $results = $results->db(Mojo::Pg::Database->new);

       Mojo::Pg::Database object these results belong to.

   sth
         my $sth  = $results->sth;
         $results = $results->sth($sth);

       DBD::Pg statement handle results are fetched from.

METHODS

       Mojo::Pg::Results inherits all methods from Mojo::Base and implements the following new
       ones.

   array
         my $array = $results->array;

       Fetch next row from "sth" and return it as an array reference. Note that "finish" needs to
       be called if you are not fetching all the possible rows.

         # Process one row at a time
         while (my $next = $results->array) {
           say $next->[3];
         }

   arrays
         my $collection = $results->arrays;

       Fetch all rows from "sth" and return them as a Mojo::Collection object containing array
       references.

         # Process all rows at once
         say $results->arrays->reduce(sub { $a + $b->[3] }, 0);

   columns
         my $columns = $results->columns;

       Return column names as an array reference.

         # Names of all columns
         say for @{$results->columns};

   expand
         $results = $results->expand;

       Decode "json" and "jsonb" fields automatically to Perl values for all rows.

         # Expand JSON
         $results->expand->hashes->map(sub { $_->{foo}{bar} })->join("\n")->say;

   finish
         $results->finish;

       Indicate that you are finished with "sth" and will not be fetching all the remaining rows.

   hash
         my $hash = $results->hash;

       Fetch next row from "sth" and return it as a hash reference. Note that "finish" needs to
       be called if you are not fetching all the possible rows.

         # Process one row at a time
         while (my $next = $results->hash) {
           say $next->{money};
         }

   hashes
         my $collection = $results->hashes;

       Fetch all rows from "sth" and return them as a Mojo::Collection object containing hash
       references.

         # Process all rows at once
         say $results->hashes->reduce(sub { $a + $b->{money} }, 0);

   new
         my $results = Mojo::Pg::Results->new;
         my $results = Mojo::Pg::Results->new(sth => $sth);
         my $results = Mojo::Pg::Results->new({sth => $sth});

       Construct a new Mojo::Pg::Results object.

   rows
         my $num = $results->rows;

       Number of rows.

   text
         my $text = $results->text;

       Fetch all rows from "sth" and turn them into a table with "tablify" in Mojo::Util.

SEE ALSO

       Mojo::Pg, Mojolicious::Guides, <http://mojolicious.org>.