将关系映射到Codemaiter的Datamapper中的通用模型

时间:2013-10-09 20:26:11

标签: codeigniter codeigniter-datamapper

我在Codeigniter的Datamapper库支持的系统中有许多不同的模型,例如Posts和Pages,我有兴趣将Likes和Comments添加到系统中。我看到它的方式,喜欢和评论可以适用于任何扩展Datamapper的模型。我将如何定义这样的关系(对同一个表中的任何类型的模型以及评论保持喜欢)?

1 个答案:

答案 0 :(得分: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