diff options
author | dakkar <dakkar@luxion> | 2005-10-20 11:27:13 +0000 |
---|---|---|
committer | dakkar <dakkar@luxion> | 2005-10-20 11:27:13 +0000 |
commit | 86a26a896db925d5d3ee8e0d6ed226a565214912 (patch) | |
tree | 376c14bfa44a20e7bb128e4ccee5bf54eebfdfd2 /lib/Bookmarks/M/DB/Tags.pm | |
parent | relazioni, e inizio lavori (diff) | |
download | Bookmarks-86a26a896db925d5d3ee8e0d6ed226a565214912.tar.gz Bookmarks-86a26a896db925d5d3ee8e0d6ed226a565214912.tar.bz2 Bookmarks-86a26a896db925d5d3ee8e0d6ed226a565214912.zip |
comincia a far finta di andare. le icone non vengono caricate, non so perché
Diffstat (limited to 'lib/Bookmarks/M/DB/Tags.pm')
-rw-r--r-- | lib/Bookmarks/M/DB/Tags.pm | 17 |
1 files changed, 13 insertions, 4 deletions
diff --git a/lib/Bookmarks/M/DB/Tags.pm b/lib/Bookmarks/M/DB/Tags.pm index e9057a8..c1e1f0b 100644 --- a/lib/Bookmarks/M/DB/Tags.pm +++ b/lib/Bookmarks/M/DB/Tags.pm @@ -2,9 +2,9 @@ package Bookmarks::M::DB::Tags; use strict; -__PACKAGE__->has_many( links => [Bookmarks::M::DB::LinkTags => 'link'] ); +__PACKAGE__->has_many( links => ['Bookmarks::M::DB::LinksTags' => 'link'] ); -__PACKAGE__->set_sql('related_tags' <<'END_SQL'); +__PACKAGE__->set_sql('related_tags', <<'END_SQL'); SELECT tags.pk FROM tags, links_tags lt1, links_tags lt2 WHERE tags.pk = lt1.tag @@ -12,13 +12,16 @@ SELECT tags.pk AND lt2.tag = ? END_SQL -__PACKAGE__->set_sql('popularity' <<'END_SQL'); +__PACKAGE__->set_sql('popularity', <<'END_SQL'); SELECT tags.pk, COUNT(links_tags.link) AS how_many FROM tags, links_tags WHERE tags.pk = links_tags.tag -ORDER BY how_many +GROUP BY links_tags.tag +ORDER BY how_many DESC END_SQL +__PACKAGE__->columns(TEMP=> 'how_wany'); + sub count_links { my ($self)=@_; return scalar $self->links(); @@ -34,6 +37,12 @@ sub get_all_tags_by_popularity { return $_[0]->search_popularity(); } +sub ordered_links { + my ($self)=@_; + my @links=$self->links(); + return sort {$a->access_count <=> $b->access_count} @links; +} + =head1 NAME Bookmarks::M::DB::Tags - CDBI Model Component Table Class |