活动和非活动字段的最佳实践表模式

时间:2010-12-23 19:22:14

标签: cakephp dry

我有简单的表格 帖子
ID
标题
含量

使用非活动帖子处理的最佳做法是什么? 1-使用temp_posts表将非活动帖子移动到此表中 2-只为帖子的活动字段设置标志

我自己更喜欢使用1解决方案,
因为每次使用find命令

时你都不会使用condtion(active = 1)

所以你可以提供什么来逃避使用条件(active = 1)每次

3 个答案:

答案 0 :(得分:3)

它与#2一致。您有一个完全独立的Model和find()代码与#1的开销。如果您不想每次都设置t condition = array('active' => 1),请使用beforeFind()在Post Model中将其默认设置。虽然后者在多种模型中找到时可能无法在所有情况下都有效。

答案 1 :(得分:0)

如果活动字段是数字类型,我认为不会产生很大的不同。它将使许多其他操作变得容易。所以我会选择第二个。

答案 2 :(得分:0)

我不认为这种情况有最好的做法,两种解决方案都有其优点和缺点,请参阅Jason的回答。

就个人而言,我倾向于#1,因为在概念层面上,您可能有DraftsPosts,而不是Posts,它们是活动的或非活动的。这是一个微妙的差异,但在第一种情况下,两个模型可以有不同的属性。例如,Post可能会有PublicationDate,而这样的属性对Draft没有意义。您无法仅使用Post模型对此进行建模。