The London Perl and Raku Workshop takes place on 26th Oct 2024. If your company depends on Perl, please consider sponsoring and/or attending.

NAME

Music::DB::Query - query methods of a Music::DB database

SYNOPSIS

Music::DB::Query objects are used internally by Music::DB::Reports and Music::DB::Web. You will not normally interact with Music::DB::Query objects. The documentation contained here is listed for completeness as well as for those looking to extend the functionality of Music::DB.

METHODS

    $report->fetch_class(@options);

    Provided with a table name, fetch_class returns an array reference of appropriate objects. For example, passing the -class=>'artists' option results in an array reference of Music::DB::DataTypes::Artist objects.

     Options:

    Some classes accept additional parameters.

     Class: albums
    
     TODO: COMPLETE
       By default, album objects will not be populated with songs. To retreive populated Album objects, try using ...
    
       If provided, Album objects will be populated with Song
       objects. These can be accessed by calling the songs() method on
       each album object.
    
       @albums = $music->fetch_class(-class=>'artist');
       foreach my $album_obj (@albums) {
         print $album_obj->album,"\n";
         print join("\n",map {$_->title} $album_obj->songs);
       }
    
       If not provided, summaries that require touching each song (ie to
       see if it is a compilation album) will still be created, but the
       individual songs will not be returned.  This can be useful ina
       situation requiring greater speed and less memory consumption.

count()

 Usage: count('type');

     Where type is one of artists, albums, songs, genres
 Status: internal

Generate a simple count of the number of $type entries in the database

2 POD Errors

The following errors were encountered while parsing the POD:

Around line 41:

You can't have =items (as at line 47) unless the first thing after the =over is an =item

Around line 103:

You forgot a '=back' before '=head1'