[Dbix-class] Help with Many to Many Relationships
Jason Galea
lists at eightdegrees.com.au
Wed Jun 17 11:47:48 GMT 2009
Hi Dave,
package DB::Film;
...
# has many actors
__PACKAGE__->has_many('film_actor_maps' => 'DB::FilmActorMap', 'product');
__PACKAGE__->many_to_many('actors' => 'film_actor_maps', 'actor');
__PACKAGE__->belongs_to('director' => 'DB::Director');
...
my $rs = $db->resultset('Film')->search(
{
director => 39,
'film_actor_maps.actor' => 2,
},
{
join => ['film_actor_maps'],
}
);
cheers,
J
Dave Cross wrote:
> I've having a brain freeze trying to implement a query in DBIC. I'm
> sure I'm missing something obvious.
>
> Here's the situation. Assume standard DBIC classes (created by
> Schema::Loader).
>
> Four tables - Director, Film, Actor, ActorInFilm
>
> A Director directs many Films.
> A Film has many Actors
> An Actor is in Films
>
> So the ActorInFilm table models the many-to-many relationship between
> Actors and Films.
>
> My problem is: given an actor and a director, get the list of films
> that they worked on together. So the result will be a resultset
> containing Film objects (or, alternatively, a list of Film objects).
>
> I've been thinking about it too long and I can no longer think
> straight. Even explaining the problem in this email hasn't helped.
>
> Please tell me what I'm missing.
>
> Cheers,
>
> Dave...
>
> _______________________________________________
> 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
More information about the DBIx-Class
mailing list