Matt S Trout wrote:
If you get stuck, could you start a fresh thread, please? I think this one
has officially got confused now :)

Ok. Just for the record though, this seems to be working fine so far:


package MySite::Model::Widget;

use strict;
use warnings;
use base qw/Catalyst::Model/;
use MySite::Widget;

__PACKAGE__->config(
    connect_info => [
        'dbi:Pg:mysite', 'username',
        'password', { AutoCommit => 1 },
    ],
);

sub new {
    my ( $class, $c, $args ) = @_;
    return MySite::Widget->new(
        Catalyst::Utils::merge_hashes( $args, $class->config ) );
}

1;


package MySite::Widget;

use warnings;
use strict;

use base qw/Class::Accessor/;
use MySite::Schema::DB;
use Carp;

__PACKAGE__->mk_accessors(qw/schema/);

sub new {
    my $self = shift->next::method(@_);

    croak "->connect_info must be defined"
      unless $self->{connect_info};

    # Clone and connect to schema
    $self->{'schema'} =
      MySite::Schema::DB->connect( @{ $self->{connect_info} } );

    return $self;
}

sub find {
    my ( $self, $id ) = @_;
    return $self->{'schema'}->resultset('Widgets')->find($id);
}
...


package MySite::Controller::Widget;
...

# Get widget
my $widget = $c->model('Widget')->find($id);
$c->stash->{'widget'} = $widget;
...

--
Jamie Neil | <[EMAIL PROTECTED]> | 0870 7777 454
Versado I.T. Services Ltd. | http://versado.net/ | 0845 450 1254

_______________________________________________
List: [email protected]
Listinfo: http://lists.rawmode.org/mailman/listinfo/catalyst
Searchable archive: http://www.mail-archive.com/[email protected]/
Dev site: http://dev.catalyst.perl.org/

Reply via email to