summaryrefslogtreecommitdiff
path: root/lib/Bookmarks/M/DB/Tags.pm
blob: e9057a85ac4e08342ce153994d4b49c5c4f6955c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
package Bookmarks::M::DB::Tags; 
 
use strict;
 
__PACKAGE__->has_many( links => [Bookmarks::M::DB::LinkTags => 'link'] );
 
__PACKAGE__->set_sql('related_tags' <<'END_SQL');
SELECT tags.pk
  FROM tags, links_tags lt1, links_tags lt2
 WHERE tags.pk  = lt1.tag
   AND lt2.link = lt2.link
   AND lt2.tag  = ?
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
END_SQL
 
sub count_links {
    my ($self)=@_;
    return scalar $self->links();
}
 
sub related_tags {
    my ($self)=@_;
 
    return $self->search_related_tags($self->pk());
}
 
sub get_all_tags_by_popularity {
    return $_[0]->search_popularity();
}
 
=head1 NAME
 
Bookmarks::M::DB::Tags - CDBI Model Component Table Class
 
=head1 SYNOPSIS
 
    Very simple to use
 
=head1 DESCRIPTION
 
Very nice component.
 
=head1 AUTHOR
 
Clever guy
 
=head1 LICENSE
 
This library is free software . You can redistribute it and/or modify it under
the same terms as perl itself.
 
=cut
 
1;