[Dbix-class] Complex joins
Matthew Phillips
mattp at cpan.org
Wed Apr 10 19:46:03 GMT 2013
Hi Lain,
What you are looking for is the coderef syntax for declaring a relationship
as describe here:
https://metacpan.org/module/DBIx::Class::Relationship::Base#condition
Cheers,
Matt
On Wed, Apr 10, 2013 at 3:40 PM, Iain C Docherty <
dbix-class at iain-docherty.com> wrote:
> I have googled for this, as far as I can tell DBIx::Class does not support
> complex joins. An example of which is below.
>
> select star.id,star.name,body.id,body.name,building.class,empire.name
> from star
> LEFT JOIN probes
> ON star.id =3D probes.star_id
> AND probes.alliance_id=3D26
> LEFT JOIN body
> ON star.id =3D body.star_id
> AND probes.id is not null
> LEFT JOIN empire
> ON body.empire_id =3D empire.id
> LEFT JOIN building
> ON body.id =3D building.body_id
> AND building.class=3D'Lacuna::DB::Result::Building::Permanent::Ravine'
> WHERE star.x > -10
> AND star.x < 10
> AND star.y > -10
> AND star.y < 10
> group by body.id
>
> Is there any way that this could be implemented in DBIx::Class or do I
> have to drop down to SQL and implement a custom ResultSource?
>
> (and in case you are wondering, this is to do with the open source project
> at https://github.com/plainblack/Lacuna-Server-Open )
>
> --
> Kind Regards
> Iain
>
> _______________________________________________
> 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-class@lists.scsys.co.uk
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.scsys.co.uk/pipermail/dbix-class/attachments/20130410/226=
d6ffb/attachment.htm
More information about the DBIx-Class
mailing list