Re: [CDBI] order by a foreign key
[prev]
[thread]
[next]
[Date index for 2005/08/16]
>>>>> "Marcello" == Marcello <m.romani@xxxxxxxx.xx> writes:
Marcello> I have two tables, 'cd' and 'artist', whose model classes are
Marcello> MyApp::Cd and MyApp::Artist.
Marcello> MyApp::Artist is stringified as 'name'
Marcello> The relationship is:
Marcello> MyApp:Cd->has_a( artist => MyApp::Artist );
Marcello> MyApp::Cd uses Class::DBI::Plugin::RetrieveAll, so I can say:
Marcello> my @cds = MyApp::Cd->retrieve_all_sorted_by( $order ); # e.g. title ASC
Marcello> And now to the point:
Marcello> if $order == 'artist' the @cds list gets ordered by the artist *id*,
Marcello> not by the artist name.
Marcello> What I would like to obtain is a list ordered by the foreign class's
Marcello> 'stringify' column.
Dunno how to do it with that plugin, but using this little trick
I came across one day...
my @ordered_cds = map $_->[0],
sort { $a->[1] cmp $b->[1] }
map [$_, $_->artist->stringify], MyApp::Cd->retrive_all;
--
Randal L. Schwartz - Stonehenge Consulting Services, Inc. - +1 503 777 0095
<merlyn@xxxxxxxxxx.xxx> <URL:http://www.stonehenge.com/merlyn/>
Perl/Unix/security consulting, Technical writing, Comedy, etc. etc.
See PerlTraining.Stonehenge.com for onsite and open-enrollment Perl training!
_______________________________________________
ClassDBI mailing list
ClassDBI@xxxxx.xxxxxxxxxxxxxxxx.xxx
http://lists.digitalcraftsmen.net/mailman/listinfo/classdbi
|
|
Re: [CDBI] order by a foreign key
merlyn (Randal L. Schwartz) 15:48 on 16 Aug 2005
|