Thanks Cory for your response, but I am quite familiar with all of the online help. After already consulting this and being able to write lots and lots of good statements. I have noticed that when use the table object and join it to a table it "belongs_to" I get the "Can't handle this error"

But if I do the opposite join I do not get the error.  Why??

__PACKAGE__->belongs_to('entry' => 'Cazy::Schema::Entry','entry_id');
__PACKAGE__->add_relationship('entry' => 'Cazy::Schema::Entry','entry_id'); __PACKAGE__->might_have('entry_orgname' => 'Cazy::Schema::EntryOrgname','entry_id'); __PACKAGE__->add_relationship('entry_orgname' => 'Cazy::Schema::EntryOrgname','entry_id');


my $schema = Cazy::Schema;
my $entry_rs = $schema->resultset('Entry');
my $entryorg_rs = $schema->resultset('EntryOrgname');


my $query1 = $entryorg_rs->search(\%where,{join=>'entry'}); ###DOESN'T WORK -- Throws error "Can't Handle This Yet" my $query1 = $entry_rs->search(\%where,{join=>'entry_orgname'}); ###DOES WORK


What I would really like to do is this statement:

my $query1 = $entryorg_rs->search(\%where,{
join=>{'entry'=> {'fam_comp'=>'family'}} '+select'=> ['entry.description','entry.note','entry.tax_id','entry.genome_id', 'family.fam_acc','family.subf','fam_comp.seq_begin','fam_comp.seq_end'], '+as'=> ['entry_desc','entry_note','taxid','genome_id','fam_acc','subf','begin', 'end']
                                              });



Is there a solution, without having to break up this query?

Brandi


On Oct 28, 2008, at 10:43 PM, Cory Watson wrote:

On 10/28/08, Brandi Cantarel <[EMAIL PROTECTED]> wrote:
I would like to join 2 tables using DBIx::Class but I get this error:

Can't handle this yet :(

when my starting table "belongs" to the second table??  I don't
understand, can I only join starting from tables where that table is
the owner of the primary key from which to join?  I would actually
like to join many tables and would like to start the join with this
"belongs_to" table as I would if I were using simple DBI.

There is a one to one relationship between the two tables I would
like to join.


BTW, does anyone know how to "print" the SQL the program is
producing.  Sometimes I get errors and I feel like looking at the
actual SQL would help alot.


Hi Brandi,

I think you might want to take a look at the DBIx::Class Cookcook:

http://search.cpan.org/perldoc?DBIx::Class::Manual::Cookbook

The "JOINS AND PREFETCHING" and "DEBUGGING AND PROFILING" sections
should get you going in the right direction!

--
Cory 'G' Watson
http://www.onemogin.com

_______________________________________________
List: http://lists.scsys.co.uk/cgi-bin/mailman/listinfo/dbix-class
IRC: irc.perl.org#dbix-class
SVN: http://dev.catalyst.perl.org/repos/bast/DBIx-Class/
Searchable Archive: http://www.grokbase.com/group/dbix- [EMAIL PROTECTED]


_______________________________________________
List: http://lists.scsys.co.uk/cgi-bin/mailman/listinfo/dbix-class
IRC: irc.perl.org#dbix-class
SVN: http://dev.catalyst.perl.org/repos/bast/DBIx-Class/
Searchable Archive: http://www.grokbase.com/group/[email protected]

Reply via email to