unique key poem_artwork_uk (artwork_id) #### unique key poem_name_artwork_uk (name, artwork_id) #### my $poem = $db->resultset('Poem')->search( { 'me.name' => 'How Great It Is To Frobnicate', 'artist.name' => 'Toby Inks', }, { join => { artwork => 'artist' }, }, )->single; my $num = $poem->artwork->poems->count; my @other_names = map { $_->name } $poem->artwork->poems->search({ poem_id => { '!=' => $poem->poem_id }, })->all;