[Dbix-class] review of various RDBMS ?

Matt S Trout dbix-class at trout.me.uk
Mon Jul 16 14:28:39 GMT 2007


On Mon, Jul 16, 2007 at 01:27:23PM +0200, Marc Espie wrote:
> On Mon, Jul 16, 2007 at 11:59:22AM +0100, Joel Bernstein wrote:
> > In some ways you're comparing apples with Wednesday. What do you mean by
> > 'full support'? DBIC has /some/ many-to-many relationship support - see
> > DBIx::Class::Relationship - has_many(), belongs_to(), many_to_many().
> > If you can express a query you'd perform in SQL, you can use DBIC's
> > SQL::Abstract support to perform a join that isn't directly supported by
> > the higher level API.
> 
> ... Which is what I mean by `not supported'. Other relationship types
> have full support at the search level. Not so for `many-to-many', which
> is not quite a relationship, it has some of its properties, but it's somewhat
> faked, and definitely not a first class object compared to what you can do
> naturally with other relationshipt types.

That's because it -isn't- a relationship, a many-many is a bridge over two
relationships. There's no problem with doing something like

$cds->search({ 'producer.name' => { 'like', 'Bob%' } },
             { join => { cd_to_producer => 'producer' } });

The way we provide SQLA syntax, a relationship is something that can be
joined directly; we've been looking at ways to make many-many more elegant
within that but most of them turn out to be a bit of a hack.

Watch this space, I expect there'll be something better in 09 :)

-- 
      Matt S Trout       Need help with your Catalyst or DBIx::Class project?
   Technical Director    Want a managed development or deployment platform?
 Shadowcat Systems Ltd.  Contact mst (at) shadowcatsystems.co.uk for a quote
http://chainsawblues.vox.com/             http://www.shadowcatsystems.co.uk/ 



More information about the Dbix-class mailing list