2011-02-28 197 views
2

我是很新的CakePHP的,所以我想知道是否有人能帮助我如何订购我的网页。CakePHP的命名约定/文件结构

我有一个产品表(有产品型号和products_controller)。 我也有一个类别表(与类型模型和categories_controller)。 该类别has many products。

首先,这个名字类别不正确调用它。根据CakePHP惯例,调用它的正确名称是什么?

其次,我想用户点击产品链接,然后用类列表呈现终于,有一次他/她选择一个类别的产品在该类别中呈现。这将如何布置?

回答

2

你在问一些非常基本的CakePHP的东西,我建议你阅读book,其中概述了命名约定,文件结构和数据检索命名一些事情。

话虽这么说,这个名字类别是正确的,除非你想的产品有多个类别,这种关系将成为产品“属于关联”类别。

要获得产品控制器中的类别信息,您可以使用$this->Product->Category->find();访问它的find方法,但我建议您在阅读CakePHP书籍时阅读它,以了解更多关于您使用的框架的知识。 。

+0

是的,我很熟悉CakePHP。本书的控制器约定页面并没有提到任何关于多字控制器的内容。应该将控制器命名为** ProductCategoriesController **或** ProductsCategoriesController **? – Chaim 2011-02-28 16:16:08

+1

就个人而言,我只是将其称为类别以使其不明确,您是否也想将类别应用于其他模型?如果是这样,你可以有一个类别类型的字段/表,以保持数据库设计尽可能模糊。说,把它叫做ProductCategories会使它与CakePHP中的产品根本没有关系 – Dunhamzzz 2011-02-28 16:18:09

+0

对于第二个问题,我想知道将URL“产品”路由到“类别”是否正确(即使有产品控制器)或者当用户点击“产品”时,应该将他/她带到“类别”页面? – Chaim 2011-02-28 16:19:09

1

你的意思是说类别不是复数类?我想是这样。你的表必须被命名为“类别”。其次,我认为你需要在你的模型中有一个类别hasAndBelongsToMany产品(HABTM),所以每个类别都有很多产品,而且一个类别也属于很多产品。 使用'蛋糕烘烤'命令,你会很容易地看到,如果它是你想要的。

希望它的帮助下,althought我很新在CakePHP,以及...

阿尔夫。

+3

分类将不需要类别HABTM产品关系,除非您希望某个产品属于多个类别,而产品属于类别将会这样做。 – Dunhamzzz 2011-02-28 15:56:55

+0

产品只能属于一个类别。我的表被命名为** categories **,但是我想知道它是否应该命名为** product_categories **或类似的东西,因为我的数据库中有其他无关的表。 – Chaim 2011-02-28 16:07:50

0

如果在数据库类别表,它的控制器将categories_controller.php,如果产品只属于一个类别的产品属于关联类别会工作。不需要HABTM关系。在cakephp中看到,模型文件是单数形式的,控制器文件是复制形式,并附有控制器。这些表格在db中以复数形式命名。

关于乌尔第二个问题,我想我没有得到它到底。