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 のドキュメントで動作するはずだと述べられているため、扱いにくいものです。なぜそれが私にとってうまくいかないのですか?私は何か見落としてますか?