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

时间:2010-09-08 01:09:31

标签: php cakephp cakephp-1.3

我想分别为我的内容和用户提供类别和排名,我不知道如何使用CakePHP约定来实现它?

我是否需要创建模型?

2 个答案:

答案 0 :(得分:2)

这完全取决于这些类别应该做什么而不做。您可以简单地定义一些用于分类内容的constants。但是,是类别......

  1. 可能会有变化吗?你想最终添加更多吗?
  2. 编辑?你想改变他们的名字吗?
  3. 嵌套?
  4. 应该有更多属性而不仅仅是他们的id?名称,描述?
  5. 如果对上述任何一个回答“是”,则需要将它们作为数据存储在数据库中。这与Cake无关,它只是理智的数据建模。对于Cake来说,这意味着您需要创建一个模型。评级也是如此。

    所以你将拥有这些表:

    • 用户
      • 有很多评分
    • 类别
      • 有很多内容
    • 内容
      • 所属类别
      • 有很多评分
    • 评分
      • belongsTo users(polymorphic)
      • belongsTo contents(polymorphic)

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

答案 1 :(得分:0)

我猜你正在寻找类似这样的东西如果你不想使用模型: http://www.dereuromark.de/2010/06/24/static-enums-or-semihardcoded-attributes/

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

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