NAME

Catalyst::Model::DBIx::Raw - A Catalyst Model for DBIx::Raw

VERSION

version 0.001

SYNOPSIS

    # Use the helper to add a DBIx::Raw model to your application
    script/myapp_create.pl model Raw DBIx::Raw

    package YourApp::Model::Raw;
    use parent 'Catalyst::Model::DBIx::Raw';

    __PACKAGE__->config(
        dsn => 'dsn',
        user => 'user',
	    password => 'password',
    );

	#or
    __PACKAGE__->config(
	    conf => '/path/to/conf.pl',
    );

	#or
    __PACKAGE__->config(
	    dbix_class_model => 'DB', #will use same dbh as DBIx::Class if you have a DBIx::Class model named 'DB'
    );
 
 
    1;
    
    package YourApp::Controller::Foo;

    sub index : Path('/') {
        my ($self, $c) = @_;
        my $name = $c->model('Raw')->raw("SELECT name FROM people WHERE id=1");
        $c->res->body("Hello, $name!");
    }
 
    1;

METHODS

new

Catalyst calls this method.

CONFIG Catalyst::Model::DBIx::Raw takes in all of the same options as config options that DBIx::Raw accepts for new. You can use dsn, user, and password to connect:

__PACKAGE__->config(
    dsn => 'dsn',
    user => 'user',
    password => 'password',
);

Or you can use a conf file: __PACKAGE__->config( conf => '/path/to/conf.pl', );

    See L<DBIx::Raw> for more information on those options. Additionally, there is one new option in L<Catalyst::Model::DBIx::Raw>, and that is C<dbix_class_model>:
    __PACKAGE__->config(
	    dbix_class_model => 'DB', 
    );

This is the name of your DBIx::Class model, if you have one. If passed in as config, Catalyst::Model::DBIx::Raw will reuse the same dbh that DBIx::Class is using. This can be useful if you have DBIx::Class being used for things such as session management or CRUD with forms, but you are using Catalyst::Model::DBIx::Raw to query yourself. This way you do not unecessarily create two database handles. Even if you do not use DBIx::Class in a particular call Catalyst::Model::DBIx::Raw can still use the DBIx::Class model to get a database handle.

NOTES

One thing to note is that Catalyst::Model::DBIx::Raw uses the same DBIx::Raw object every request, but gets a new dbh every request using DBIx::Raw's connect method.

AUTHOR

Adam Hopkins <srchulo@cpan.org>

COPYRIGHT AND LICENSE

This software is copyright (c) 2014 by Adam Hopkins.

This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.