NAME
Catalyst::TraitFor::Model::DBIC::Schema::Result - PerRequest Result from Catalyst Request
SYNOPSIS
In your configuration, set the trait:
MyApp->config(
'Model::Schema' => {
traits => ['Result'],
schema_class => 'MyApp::Schema',
connect_info => [ ... ],
},
);
Now in your actions you can call the generated models, which get their ->find($id) from $c->request->args.
sub user :Local Args(1) {
my ($self, $c) = @_;
my $user = $c->model('Schema::User::Result');
}
DESCRIPTION
Its a common case to get the result of a DBIx::Class ->find based on the current Catalyst request (typically from the Args attribute). This is an experimental trait to see if we can usefull encapsulate that common task in a way that is not easily broken.
If you can't read the source code and figure out what is going on, might want to stay away for now!
SUBROUTINE ATTRIBUTES
For the case when a result is complex (requires more than one argument) or you want to use a key other then the PK, you may add a subroutine arguement to describe the pattern:
sub user_with_attr :Local Args(1) ResultModelFrom(first_name=>$args[0]) {
my ($self, $c) = @_;
}
This is experimental and may change as needed. Basically this get converted to a hashref and submitted to ->find.
SEE ALSO
Catalyst, Catalyst::Model::DBIC::Schema.
AUTHOR
John Napiorkowski email:jjnapiork@cpan.org
COPYRIGHT & LICENSE
Copyright 2015, John Napiorkowski email:jjnapiork@cpan.org
This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself.