On Tue, Oct 30, 2007 at 09:22:59AM +1100, brett gardner wrote:
> I don't think its as simple as that.
> 
> I recently had to implement this behaviour and realised that in some 
> cases you might need to rename the columns in the query. eg
> 
> $rs->search({'foo.bar_id' => 2},{join=>'foo'});
> 
> then later
> 
> my $new_rs = $rs->search({'foo.bar_id' = 45},{join=>'foo'});
> 
> which would result in the query
> 
> SELECT ....
> FROM tbl1 LEFT JOIN foo ON (...)
> LEFT JOIN foo foo2 ON (...)
> WHERE
> foo.bar_id = 2 AND foo.bar_id = 45
> 
> Which is incorrect. as the second search clause should be "foo2.bar_id = 
> 45".

It is. But it's also a completely different problem, and one that's much
harder to solve - I hope to find a way to allow DBIC to instrospect on
the query tree sufficiently to handle this case intelligently as part of
our refactor of SQL::Abstract - interested in helping?

-- 
      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: 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