У меня есть несколько различных моделей в системе, поддерживаемой библиотекой Datamapper для Codeigniter, такой как Posts and Pages, и я заинтересован в добавлении Likes и комментариев в систему. То, как я это вижу, Likes and Comments может применяться к любой модели, которая расширяет Datamapper. Как я могу определить такие отношения (сохранить Likes для любой модели в той же таблице, а также комментарии)?Сопоставление отношений с универсальными моделями в Datamapper для Codeigniter
0
A
ответ
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
Это было то, что я думал о том, как хорошо. Как бы это отношение было представлено в терминах Datamapper has_one и has_many отношений, хотя (как бы был представлен составной ключ на obj/obj_id)? – rcchen