---
name: "PGObject::Util::DBMethod"
section: "3pm"
platform: "linux"
package: "libpgobject-util-dbmethod-perl"
version: "1.01.000-1"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/PGObject::Util::DBMethod"
---

# PGObject::Util::DBMethod(3pm)

Declarative stored procedure \<-\> object mappings for the PGObject Framework

## NAME

PGObject::Util::DBMethod - Declarative stored procedure \<-\> object mappings for the PGObject Framework

## VERSION

Version 1.01.000

## SYNOPSIS

Without PGObject::Util::DBobject, you would:

```
    sub mymethod {
        my ($self) = @_;
        return $self->call_dbmethod(funcname => 'foo');
    }
```

With this you'd do this instead:

```
    dbmethod mymethod => (funcname => 'foo');
```

## EXPORT

This exports only dbmethod, which it always exports.

## SUBROUTINES/METHODS

### dbmethod

use as dbmethod (name =\> (default\_arghash))

For example:

```
  package MyObject;
  use PGObject::Utils::DBMethod;
  dbmethod save => (
                                 strict_args => 0,
                                    funcname => 'save_user',
                                  funcschema => 'public',
                                        args => { admin => 0 },
  );
  $MyObject->save(args => {username => 'foo', password => 'bar'});
```

Special arguments are:

- arg\_lit

  It set must point to a hashref.  Used to allow mapping of function arguments to arg hash elements.  If this is set then funcname, funcschema, etc, cannot be overwritten on the call.

- strict\_args

  If true, args override args provided by user.

- returns\_objects

  If true, bless returned hashrefs before returning them.

- merge\_back

  If true, merges the first record back to the `$self` at the end before returning, and returns `$self`.  Note this is a copy only one layer deep which is fine for  the use case of merging return values from the database into the current  object.

## AUTHOR

Chris Travers, `"<chris.travers at gmail.com>"`

## BUGS

Please report any bugs or feature requests to `"bug-pgobject-util-dbmethod at rt.cpan.org"`, or through the web interface at \<http://rt.cpan.org/NoAuth/ReportBug.html?Queue=PGObject-Util-DBMethod\>.  I will be notified, and then you'll automatically be notified of progress on your bug as I make changes.

## SUPPORT

You can find documentation for this module with the perldoc command.

```
    perldoc PGObject::Util::DBMethod
```

You can also look for information at:

- •

  RT: CPAN's request tracker (report bugs here)

  \<http://rt.cpan.org/NoAuth/Bugs.html?Dist=PGObject-Util-DBMethod\>

- •

  AnnoCPAN: Annotated CPAN documentation

  \<http://annocpan.org/dist/PGObject-Util-DBMethod\>

- •

  CPAN Ratings

  \<http://cpanratings.perl.org/d/PGObject-Util-DBMethod\>

- •

  Search CPAN

  \<http://search.cpan.org/dist/PGObject-Util-DBMethod/\>

## ACKNOWLEDGEMENTS

## LICENSE AND COPYRIGHT

Copyright 2014 Chris Travers.

This program is released under the following license: BSD
