Beefy Boxes and Bandwidth Generously Provided by pair Networks
P is for Practical
 
PerlMonks  

Re: (Yet Another) DBIx::Class Joins question

by dragonchild (Archbishop)
on Feb 03, 2009 at 18:17 UTC ( #741082=note: print w/ replies, xml ) Need Help??


in reply to (Yet Another) DBIx::Class Joins question

Try join => { marketcode => { programcode => 'progfee' } } - note the hashref, not the arrayref.


My criteria for good software:
  1. Does it work?
  2. Can someone else come in, make a change, and be reasonably certain no bugs were introduced?


Comment on Re: (Yet Another) DBIx::Class Joins question
Download Code
Re^2: (Yet Another) DBIx::Class Joins question
by sundialsvc4 (Abbot) on Feb 04, 2009 at 00:16 UTC

    I wonder if the problem is prefetch ... yes, I think it is.

    This seems to work:

    my $rs= $c->schema->resultset("TSeminar")->search( { 'semcode' => $code }, { "join" => [ 'marketcode', {'programcode'=>'progfee'} ], "prefetch" => [ 'marketcode', {'programcode'=>'progfee'} ], "order_by" => [qw/semcode/], "rows" => 1});

    In DBIx::Class::Manual there is a section called “multi-step prefetch” which I had failed to notice before. It says:

    From 0.04999_05 onwards, prefetch can be nested more than one relationship deep using the same syntax as a multi-step join ...

    And so it appears that this is indeed the syntax that you have to use.

    I'm writing this because it appears to work (that is to say, “it does not croak anymore”), and I'll now verify that it does work. (Unless I write to say otherwise, “it did.”)

Log In?
Username:
Password:

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://741082]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others lurking in the Monastery: (6)
As of 2014-12-29 06:05 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    Is guessing a good strategy for surviving in the IT business?





    Results (184 votes), past polls