Please find my suggested db design below,

tags: id, name
types: id, name
posts: id, name
teachers: id, name
books: id, name, type_id
books_tags: id, book_id, tag_id
All ids are auto increment & primary  fields.

So if, the book with (id, name, type_id) = (6, 'Bookname', 2) has two tags
with (id, name) = (11, 'Chemistry') & (23, 'Grade A'), then the entry in the
books_tags(book_id, tag_id) table for this will be -  (6, 11) & (6, 23) .
Also read this page from the doc
http://book.cakephp.org/view/24/Model-and-Database-Conventions

-- 
Anupom Syam
http://syamantics.com/

On Sat, Nov 1, 2008 at 8:42 PM, [EMAIL PROTECTED] <[EMAIL PROTECTED]> wrote:

>
> Hi All,
>
> I am trying to build a tagging feature in my site which is a community
> site for a school.
>
> In my site, I have various entity types like : Blog Post, Teacher,
> Book .
>
> Every entry for these entities will have tags associated with it . So,
> a tag may belong to one or more items of different entities.
>
> In a normal core PHP project, I would have designed tables for this in
> the following manner :-
>
> 1) tags : tag_id, tag_name .
> 2) entity_types : entity_type_id, entity_type_name .   [(0, Posts),
> (1, Teachers), (2, Books)]
> 3) posts : post_id, post_name .
> 4) teachers : teacher_id, teacher_name .
> 5) books : book_id, book_name
> 6) entities_tags : tag_id, entity_type_id, entity_id .
>
> So, if a book (entity_type_id = 2) with book_id = 6 has 2 tags
> (tag_id, tag_name) : (11, 'Chemistry') & (23, 'Grade A') , then the
> entry in entities_tags for this will be : (11, 2, 6) & (23, 2, 6) .
>
> I am using CakePHP for my project and I am not able to design the
> tables in CakePHP for this Tagging Feature.
>
> It would be great if people could come up with their suggestions.
>
> Thanks a lot !!
>
> >
>

--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"CakePHP" group.
To post to this group, send email to cake-php@googlegroups.com
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.com/group/cake-php?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to