考虑 CakePHP 2.2.3 中的以下 HABTM 关系:
class User extends AppModel
{
public $hasAndBelongsToMany = array(
'Role' => array(
'className' => 'Role',
'joinTable' => 'roles_users',
'foreignKey' => 'user_id',
'associationForeignKey' => 'role_id',
)
);
}
这很好用,但是当使用别名VeryUniqueAlias
代替Role
并相应地更改 UsersController 时,m:n 关系不会保留在数据库中(传递给save()
控制器的数据是等效的)。
这不起作用:
class User extends AppModel
{
public $hasAndBelongsToMany = array(
'VeryUniqueAlias' => array(
'className' => 'Role',
'joinTable' => 'roles_users',
'foreignKey' => 'user_id',
'associationForeignKey' => 'role_id',
)
);
}
这很尴尬,因为CakePHP 文档声明它应该可以工作。知道为什么它不适合我吗?我错过了什么?