use strict; use warnings; use MusicApp::Schema; #MusicApp::Schema::Result::Band->has_many( albums => 'MusicApp::Schema::Result::Album', 'band');#{ 'foreign.band' => 'self.name' }); my $bandname = $ARGV[0] || "The Beatles"; my $DB_NAME="musicdb.sqlite"; my $schema = MusicApp::Schema->connect("dbi:SQLite:$DB_NAME"); my $bandrs = $schema->resultset('Band')->search({ name => { -like => "\%$bandname\%" } }) ; while (my $b = $bandrs->next){ print "BAND: ",$b->name, " Started ", $b->year,"\n"; my $albumrs = $b->albums; while (my $a = $albumrs->next){ print "\tALBUM: ",$a->year,"\t",$a->name,"\n"; my $songrs = $a->songs; while (my $s = $songrs->next){ print "\t\tSONG: ",$s->track, "\t",$s->name,"\n"; } } }