Beefy Boxes and Bandwidth Generously Provided by pair Networks
Think about Loose Coupling

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?

Replies are listed 'Best First'.
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?

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

How do I use this? | Other CB clients
Other Users?
Others avoiding work at the Monastery: (2)
As of 2023-04-02 02:27 GMT
Find Nodes?
    Voting Booth?

    No recent polls found