如何在CakePHP中定义多对多关系

时间:2010-10-25 00:21:31

标签: cakephp

我有一个应用程序,其中用户属于许多类别。所以我有一个Users表,Categories和Users2ategories表。 Users2ategories表由user_idcategory_id组成。所以我想问题是:我是否为Users2ategories创建了一个模型?最终,我希望能够“找到”用户对象并附上各自的类别。

另外,我可以通过烘焙控制台定义这种关系吗?

3 个答案:

答案 0 :(得分:8)

  1. 阅读食谱中的HABTM。将“Users2ategories”表重命名为“categories_users”。
  2. 您可以从控制台bake模型,但您必须先拥有正确的表格(见上文)。

答案 1 :(得分:1)

HABTM绝对是您要走的路。

如果您遵守Cake约定,Cake将为您处理连接表。

阅读由bancer链接的书中的部分,然后再次阅读。然后阅读:http://mrphp.com.au/code/working-habtm-form-data-cakephp,它将帮助您实现真实世界。

答案 2 :(得分:0)

所以,你问了两个问题并获得了一些很好的信息,但答案非常简单:

  

为Users2ategories创建模型吗?

你可以,但我不会。 Cake将在运行时为连接创建模型。由于此模型/表仅存在 以便于连接(即它没有自己的属性或方法),所以让Cake为您工作。但正如@bancer所述,您需要根据Cake的惯例命名表。

  

另外,我可以通过烘焙控制台定义这种关系吗?

<击>否。您可以创建模型框架,但不包括任何关联的定义。 AFAIK,没有办法做到这一点。烘烤骨骼,用关联来充实它。

我不可能更错。看评论。感谢教育,@ bancer和@beporter。