让我们以http://book.cakephp.org/2.0/en/models/associations-linking-models-together.html
中的文档为例使用实体Recipe
和Ingredient
并遵循惯例,在hasAndBelongsToMany
关系中,联接表将被称为ingredients_recipes
。
据我所知,遵循命名约定的目的是让cakePHP
进行类的自动连接,而无需显式声明某些变量,在本例中为表的名称:{ {1}}
现在,在以下示例中(直接从上面的链接中提取),他们明确声明ingredients_recipes
,'foreignKey' => 'recipe_id'
和'associationForeignKey' => 'ingredient_id'
。
我的问题是:即使我遵循了表,外键等的命名约定。我是否必须显式声明连接表,外键等的名称,或者它们是在下面的示例中声明的只是为了向读者展示输入的可能值?
'joinTable' => 'ingredients_recipes'
答案 0 :(得分:2)
如果您已经完成了所有操作,则无需使用简单的
编写完整的代码public $hasAndBelongsToMany = array('Ingredient');
你会没事的。他们给你这个例子来说明你可以用配置做多少,但除非你想改变那里设置的任何默认设置,你就可以使用单行。