On Thu, Feb 21, 2008 at 09:17:33AM +0100, Peter Sørensen wrote:
> 
> >He meant result_source:
> >http://cpan.uwinnipeg.ca/htdocs/DBIx-Class/DBIx/Class/ResultSet.html#result_source
> >
> >But this is not all and it is something that begs for a FAQ entry - I always 
> >forget how to do it.  The important thing is how to add new >>>methods to 
> >the ResultSet:
> >
> >package ArchivedBooks;
> >  use base qw/DBIx::Class/;
> >  __PACKAGE__->table('books_archive');
> >  __PACKAGE__->source_name('Books');
> >  __PACKAGE__->resultset_class('ArchivedBooks::ResultSet');
> >
> >package ArchivedBooks::ResultSet;
> >use strict;
> >use warnings;
> >
> >use base qw( DBIx::Class::ResultSet );
> >
> >sub advanced_search {
> > my ( $self, $params, $attrs ) = @_;
> >
> >$self now is a ResultSet - so you can use methods on it.
> ......................
> 
> 
> I have a similar problem want -  to add some custom methods to the model. 
> I've read
> your references but still - I can't get this thing to work.
> 
> I have generated the model using Catalyst and get the following layout:
> 
>       LogParser.pm
>       LogParser
>       |
>       |________Components.pm
>       |________Connectinfo.pm
>       |________Logtype.pm
> 
> and if I take a look into Components it looks like:
> 
> package LogParser::Schema::LogParserDB::Components;
> 
> use strict;
> use warnings;
> 
> use base 'DBIx::Class';
> 
> __PACKAGE__->load_components("Core");
> __PACKAGE__->table("components");
> __PACKAGE__->add_columns(
>   "id",
>   { data_type => "INT", default_value => undef, is_nullable => 0, size => 11 
> },
>   "component",
>   { data_type => "VARCHAR", default_value => "", is_nullable => 0, size => 32 
> },
>   "regex",
>   { data_type => "TEXT", default_value => "", is_nullable => 0, size => 65535 
> },
>   "nvars",
>   { data_type => "INT", default_value => 1, is_nullable => 0, size => 10 },
>   "varnames",
>   { data_type => "VARCHAR", default_value => "", is_nullable => 0, size => 64 
> },
> );
> __PACKAGE__->set_primary_key("id");
> 
> 
> # Created by DBIx::Class::Schema::Loader v0.04004 @ 2008-02-12 17:08:38
> # DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:gkSc31rRGpYHxL8tAAd/kw
> 
> # You can replace this text with custom content, and it will be preserved on 
> regeneration
> 1;
> 
> As I understand I have to add to above:
> 
> __PACKAGE__->source_name('SomeName');
> __PACKAGE__->resultset_class('Components::ResultSet');
> LogParser::Schema::LogParserDB::Components;ame" 
> and create a new package with:
> 
> package LogParser::Schema::LogParserDB::Components::ResultSet;

load_classes() is trying to use this as a result class.

Either move it or switch to load_namespaces.

Note also there's a dbix-class list and I don't see a single bit of Catalyst
code in your post, so I'd suggest you'd be better posting there.

-- 
      Matt S Trout       Need help with your Catalyst or DBIx::Class project?
   Technical Director                    http://www.shadowcat.co.uk/catalyst/
 Shadowcat Systems Ltd.  Want a managed development or deployment platform?
http://chainsawblues.vox.com/            http://www.shadowcat.co.uk/servers/

_______________________________________________
List: Catalyst@lists.scsys.co.uk
Listinfo: http://lists.scsys.co.uk/cgi-bin/mailman/listinfo/catalyst
Searchable archive: http://www.mail-archive.com/catalyst@lists.scsys.co.uk/
Dev site: http://dev.catalyst.perl.org/

Reply via email to