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/[email protected]
_______________________________________________
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]