CakePHP如何使用静态值(类别)

CakePHP如何使用静态值(类别),php,cakephp,cakephp-1.3,Php,Cakephp,Cakephp 1.3,我想为我的内容和用户分别设置类别和排名,我不知道如何使用CakePHP约定来实现这一点 我需要创建一个模型吗?这完全取决于这些类别应该做什么和不应该做什么。你可以简单地定义一些你用来分类的东西。但是,是类别 可能会改变吗?您是否希望最终添加更多内容 可编辑?你可以改变他们的名字吗 嵌套的 应该有更多的属性而不仅仅是它们的id?名字,描述 如果您对上述任何一项的回答是肯定的,您将希望将它们作为数据存储在数据库中。这是独立的蛋糕,它只是健全的数据建模。对于蛋糕,这意味着您需要创建一个模型。评级也是如

我想为我的内容和用户分别设置类别和排名,我不知道如何使用CakePHP约定来实现这一点


我需要创建一个模型吗?

这完全取决于这些类别应该做什么和不应该做什么。你可以简单地定义一些你用来分类的东西。但是,是类别

  • 可能会改变吗?您是否希望最终添加更多内容
  • 可编辑?你可以改变他们的名字吗
  • 嵌套的
  • 应该有更多的属性而不仅仅是它们的id?名字,描述
  • 如果您对上述任何一项的回答是肯定的,您将希望将它们作为数据存储在数据库中。这是独立的蛋糕,它只是健全的数据建模。对于蛋糕,这意味着您需要创建一个模型。评级也是如此

    因此,您将拥有以下表格:

    • 使用者
      • 有很多评级
    • 类别
      • 有很多内容
    • 内容
      • 属于类别
      • 有很多评级
    • 评级
      • 属于用户(多态)
      • belongsTo内容(多态)

    您可能希望将用户分级和内容分级分为两个表,而不是使用组合的多态表(这只是意味着您有一个额外的列来跟踪分级是针对用户还是针对内容)。

    如果您不想使用模型,我想您正在寻找类似的内容:

    一种可能的方法是对可能只有1-5个状态的事物使用“枚举”


    如果您有超过10个或希望能够动态修改它们(标签、活动/非活动),则需要一个单独的表和模型关系。

    sweet。感谢Deceze,这太完美了。还值得注意的是,在这样的情况下,您可以真正利用Cake的缓存,因为您不希望数据发生太大的变化。打开缓存,您几乎不会注意到应用程序中的性能差异。