2013-10-09 5 views
0

У меня есть несколько различных моделей в системе, поддерживаемой библиотекой Datamapper для Codeigniter, такой как Posts and Pages, и я заинтересован в добавлении Likes и комментариев в систему. То, как я это вижу, Likes and Comments может применяться к любой модели, которая расширяет Datamapper. Как я могу определить такие отношения (сохранить Likes для любой модели в той же таблице, а также комментарии)?Сопоставление отношений с универсальными моделями в Datamapper для Codeigniter

ответ

0

Я стараюсь создавать отдельные таблицы для комментариев и комментариев. Я обычно создаю такую ​​схему:

Likes 
----- 
id  // autoincrement 
obj  // the related model (the name of the model that is being liked) 
obj_id // the foreign key 
user_id // the user id that liked the model object 
created // timestamp 
updated // timestamp 

Тогда таблицы комментариев:

Comments 
-------- 
id  // autoincrement 
obj  // the related model (same as above) 
obj_id // the foreign key 
message // the comment itself 
user_id // the user id that commented on the model object 
created // timestamp 
updated // timestamp 
+0

Это было то, что я думал о том, как хорошо. Как бы это отношение было представлено в терминах Datamapper has_one и has_many отношений, хотя (как бы был представлен составной ключ на obj/obj_id)? – rcchen