[Catalyst] Accessing $schema in Model glue class (solved?)

Jonathan Rockway jon at jrock.us
Thu Jan 24 17:11:59 GMT 2008


Tobias Kremer <list at funkreich.de> writes:

> Quoting Tobias Kremer <list at funkreich.de>:
>> Realizing that MyApp::Model::Schema is already just a subclass of
>> C::M::DBIC::Schema (doh!) I came up with the following solution that just
>> overrides new():
>
> Hmmm ... Could somebody take a look at the following version I came up with
> and tell me if using Urbia2->cache (from Catalyst::Plugin::Cache::Memcached)
> in this context is okay:
>
> # in MyApp::Model::Schema (which ISA Catalyst::Model::DBIC::Schema)
> sub new {
>   my $self = shift->NEXT::new(@_);
>   $self->schema->default_resultset_attributes( {
>     cache_object => Urbia2->cache
>   } );
>   return $self;
> }

I have a feeling that "cache" isn't a static method; you'll need $c in
order to call it.  In that case, you'll have to fixup the default
ResultSet attributes after setup or in ACCEPT_CONTEXT.

If "Urbia2->cache" works, though, then I'm wrong :)  Let us know; I
have a few ideas if what you've written above doesn't work.

Regards,
Jonathan Rockway



More information about the Catalyst mailing list