The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

NAME

DBIx::Custom::Result - Result of select statement

SYNOPSIS

    # Result
    my $result = $dbi->select(table => 'book');

    # Fetch a row and put it into array reference
    while (my $row = $result->fetch) {
        my $author = $row->[0];
        my $title  = $row->[1];
    }
    
    # Fetch only a first row and put it into array reference
    my $row = $result->fetch_first;
    
    # Fetch all rows and put them into array of array reference
    my $rows = $result->fetch_all;

    # Fetch a row and put it into hash reference
    while (my $row = $result->fetch_hash) {
        my $title  = $row->{title};
        my $author = $row->{author};
    }
    
    # Fetch only a first row and put it into hash reference
    my $row = $result->fetch_hash_first;
    my $row = $result->one; # Same as fetch_hash_first
    
    # Fetch all rows and put them into array of hash reference
    my $rows = $result->fetch_hash_all;
    my $rows = $result->all; # Same as fetch_hash_all

ATTRIBUTES

dbi

    my $dbi = $result->dbi;
    $result = $result->dbi($dbi);

DBIx::Custom object.

sth

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

Statement handle of DBI.

METHODS

DBIx::Custom::Result inherits all methods from Object::Simple and implements the following new ones.

all

    my $rows = $result->all;

Same as fetch_hash_all.

fetch

    my $row = $result->fetch;

Fetch a row and put it into array reference.

fetch_all

    my $rows = $result->fetch_all;

Fetch all rows and put them into array of array reference.

fetch_first

    my $row = $result->fetch_first;

Fetch only a first row and put it into array reference, and finish statment handle.

fetch_hash

    my $row = $result->fetch_hash;

Fetch a row and put it into hash reference.

fetch_hash_all

    my $rows = $result->fetch_hash_all;

Fetch all rows and put them into array of hash reference.

fetch_hash_first

    my $row = $result->fetch_hash_first;

Fetch only a first row and put it into hash reference, and finish statment handle.

fetch_hash_multi

    my $rows = $result->fetch_hash_multi(5);
    

Fetch multiple rows and put them into array of hash reference.

fetch_multi

    my $rows = $result->fetch_multi(5);
    

Fetch multiple rows and put them into array of array reference.

filter

    $result->filter(title  => sub { uc $_[0] }, author => 'to_upper');
    $result->filter([qw/title author/] => 'to_upper');

Set filter for column. You can use subroutine or filter name as filter. This filter is executed after type_rule filter.

filter_off

    $result = $result->filter_off;

Turn filtering by filter method off. By default, filterin is on.

filter_on

    $result = $resutl->filter_on;

Turn filtering by filter method on. By default, filterin is on.

    my $header = $result->header;

Get header column names.

one

    my $row = $result->one;

Same as fetch_hash_first.

stash

    my $stash = $result->stash;
    my $foo = $result->stash->{foo};
    $result->stash->{foo} = $foo;

Stash is hash reference for data.

type_rule

    # Merge type rule
    $result->type_rule(
        # DATE
        9 => sub { ... },
        # DATETIME or TIMESTAMP
        11 => sub { ... }
    );

    # Replace type rule(by reference)
    $result->type_rule([
        # DATE
        9 => sub { ... },
        # DATETIME or TIMESTAMP
        11 => sub { ... }
    ]);

This is same as DBIx::Custom's type_rule's <from>.

type_rule_off

    $result = $result->type_rule_off;

Turn from1 and from2 type rule off. By default, type rule is on.

type_rule_on

    $result = $result->type_rule_on;

Turn from1 and from2 type rule on. By default, type rule is on.

type_rule1_off

    $result = $result->type_rule1_off;

Turn from1 type rule off. By default, type rule is on.

type_rule1_on

    $result = $result->type_rule1_on;

Turn from1 type rule on. By default, type rule is on.

type_rule2_off

    $result = $result->type_rule2_off;

Turn from2 type rule off. By default, type rule is on.

type_rule2_on

    $result = $result->type_rule2_on;

Turn from2 type rule on. By default, type rule is on.