Scroll to navigation

DBIx::Simple::Result::RowObject(3) User Contributed Perl Documentation DBIx::Simple::Result::RowObject(3)

NAME

DBIx::Simple::Result::RowObject - Simple result row object class

DESCRIPTION

This class is the default for the "object" and "objects" result object methods. Mainly, it provides syntactic sugar at the expense of performance.

Instead of writing

    my $r = $db->query('SELECT foo, bar FROM baz')->hash;
    do_something_with $r->{foo}, $r->{bar};

you may write

    my $r = $db->query('SELECT foo, bar FROM baz')->object;
    do_something_with $r->foo, $r->bar;

This class is a subclass of Object::Accessor, which provides per-object (rather than per-class) accessors. Your records must not have columns names like these:

    * can
    * ls_accessors
    * ls_allow
    * mk_accessor
    * mk_clone
    * mk_flush
    * mk_verify
    * new
    * register_callback
    * ___autoload
    * ___callback
    * ___debug
    * ___error
    * ___get
    * ___set

And of course DESTROY and AUTOLOAD, and anything that new versions of Object::Accessor might add.

DBIx::Simple::OO

DBIx::Simple::OO is a third party module by Jos Boumans that provided "object" and "objects" to DBIx::Simple. Similar functionality is now built in, in part inspired by DBIx::Simple:OO.

Using DBIx::Simple 1.33 or newer together with DBIx::Simple::OO 0.01 will result in method name clash. DBIx::Simple::Result::RowObject was written to be compatible with DBIx::Simple::OO::Item, except for the name, so "isa" calls still need to be changed.

In practice, DBIx::Simple 1.33 makes DBIx::Simple::OO obsolete.

AUTHOR

Juerd Waalboer <juerd@cpan.org> <http://juerd.nl/>

SEE ALSO

DBIx::Simple

2017-12-09 perl v5.40.0