The London Perl and Raku Workshop takes place on 26th Oct 2024. If your company depends on Perl, please consider sponsoring and/or attending.

NAME

DBIx::Custom::Result - DBIx::Custom Resultset

SYNOPSIS

    my $result = $dbi->execute($query);
    
    # Fetch
    while (my @row = $result->fetch) {
        # Do something
    }
    
    # Fetch hash
    while (my %row = $result->fetch_hash) {
        # Do something
    }

ATTRIBUTES

sth

Statement handle

    $result = $result->sth($sth);
    $sth    = $reuslt->sth
    

default_filter

Filter excuted when data is fetched

    $result         = $result->default_filter($default_filter);
    $default_filter = $result->default_filter;

filter

Filter excuted when data is fetched

    $result   = $result->filter($sth);
    $filter   = $result->filter;

METHODS

This class is Object::Simple subclass. You can use all methods of Object::Simple

new

    my $result = DBIx::Custom::Result->new;

fetch

Fetch a row

    $row = $result->fetch; # array reference
    @row = $result->fecth; # array

The following is fetch sample

    while (my $row = $result->fetch) {
        # do something
        my $val1 = $row->[0];
        my $val2 = $row->[1];
    }

fetch_hash

Fetch row as hash

    $row = $result->fetch_hash; # hash reference
    %row = $result->fetch_hash; # hash

The following is fetch_hash sample

    while (my $row = $result->fetch_hash) {
        # do something
        my $val1 = $row->{key1};
        my $val2 = $row->{key2};
    }

fetch_single

Fetch only first row(Scalar context)

    $row = $result->fetch_single; # array reference
    @row = $result->fetch_single; # array
    

The following is fetch_single sample

    $row = $result->fetch_single;
    

This method fetch only first row and finish statement handle

fetch_hash_single

Fetch only first row as hash

    $row = $result->fetch_hash_single; # hash reference
    %row = $result->fetch_hash_single; # hash
    

The following is fetch_hash_single sample

    $row = $result->fetch_hash_single;
    

This method fetch only single row and finish statement handle

fetch_multi

Fetch rows

    $rows = $result->fetch_multi($row_count); # array ref of array ref
    @rows = $result->fetch_multi($row_count); # array of array ref
    

The following is fetch_multi sample

    while(my $rows = $result->fetch_multi(10)) {
        # do someting
    }

fetch_hash_multi

Fetch rows as hash

    $rows = $result->fetch_hash_multi($row_count); # array ref of hash ref
    @rows = $result->fetch_hash_multi($row_count); # array of hash ref
    

The following is fetch_hash_multi sample

    while(my $rows = $result->fetch_hash_multi(10)) {
        # do someting
    }

fetch_all

Fetch all rows

    $rows = $result->fetch_all; # array ref of array ref
    @rows = $result->fecth_all; # array of array ref

The following is fetch_all sample

    my $rows = $result->fetch_all;

fetch_hash_all

Fetch all row as array ref of hash ref (Scalar context)

    $rows = $result->fetch_hash_all; # array ref of hash ref
    @rows = $result->fecth_all_hash; # array of hash ref

The following is fetch_hash_all sample

    my $rows = $result->fetch_hash_all;

error

Get error infomation

    $error_messege = $result->error;
    ($error_message, $error_number, $error_state) = $result->error;
    

You can get get information. This is same as the following.

    $error_message : $result->sth->errstr
    $error_number  : $result->sth->err
    $error_state   : $result->sth->state

finish

Finish statement handle

    $result->finish

This is equel to

    $result->sth->finish;