如果Recipe HABTM Ingredient
关系,name
的{{1}}为join
。
是否有返回ingredients_recipes
的CakePHP方法或函数?
目前我在AppModel上定义了一个方法 -
the name of joinTable between two models
如果您不理解我的问题,请发表评论。我将尽我所能用我的英语知识清楚地表达出来......
答案 0 :(得分:1)
没有内置方法可以简单地返回两个HABTM关联模型的连接表名称,没有。
CakePHP在一个方法中生成表名,该方法使用默认值填充关联配置,即Model::_generateAssociation()
。
// ...
case 'joinTable':
$tables = array($this->table, $this->{$class}->table);
sort($tables);
$data = $tables[0] . '_' . $tables[1];
break;
// ...
正如你所看到的那样,它的工作方式与你一样,除了它使用字符串连接(更快)和Model::$table
属性而不是Model::$name
,可能不会返回您期望的结果。
除了name
属性的一个小问题,你应该改为使用table
,你的代码应该没问题,并返回正确的表名。