Scroll to navigation

Catalyst::TraitFor::Model::DBIC::Schema::PerRequestSchema(3pm) User Contributed Perl Documentation Catalyst::TraitFor::Model::DBIC::Schema::PerRequestSchema(3pm)

NAME

Catalyst::TraitFor::Model::DBIC::Schema::PerRequestSchema - Clone the schema with attributes for each requests

SYNOPSIS

    __PACKAGE__->config({
        traits => ['PerRequestSchema'],
    });
    sub per_request_schema_attributes {
        my ($self, $c) = @_;
        return (restricting_object => $c->user->obj);
    }
    ### OR ###
    sub per_request_schema {
        my ($self, $c) = @_;
        return $self->schema->schema_method($c->user->obj)
    }

DESCRIPTION

Clones the schema for each new request with the attributes retrieved from your "per_request_schema_attributes" method, which you must implement. This method is passed the context.

Alternatively, you could also override the "per_request_schema" method if you need access to the schema clone and/or need to separate out the Model/Schema methods. (See examples above and the defaults in the code.)

SEE ALSO

Catalyst::Model::DBIC::Schema, DBIx::Class::Schema

AUTHOR

See "AUTHOR" in Catalyst::Model::DBIC::Schema and "CONTRIBUTORS" in Catalyst::Model::DBIC::Schema.

COPYRIGHT

See "COPYRIGHT" in Catalyst::Model::DBIC::Schema.

LICENSE

This program is free software, you can redistribute it and/or modify it under the same terms as Perl itself.

2023-10-26 perl v5.36.0