我在 Cakephp 中遇到了 HABTM 的问题。
有两种模型:用户(音乐家)和流派。并且有三张表:users,genres,genres_users(id(primary),genre_id,user_id)。
在用户中写道:
<?php
public $hasAndBelongsToMany = array(
'Genre' => array(
'className' => 'Genre',
'joinTable' => 'genres_users',
'foreignKey' => 'user_id',
'associationForeignKey' => 'genre_id',
),
);
但结果我得到“缺少数据库表”。我究竟做错了什么?
谢谢。
更新 用户模型
class User extends AppModel {
public $primaryKey = 'id';
public $hasOne = array(
'PerformerProfile' => array(
'className' => 'PerformerProfile',
'dependent' => false,
),
'OrganizerProfile' => array(
'className' => 'OrganizerProfile',
'dependent' => false,
),
);
public $hasAndBelongsToMany = array(
'Genre' => array(
'className' => 'Genre',
'joinTable' => 'genres_users',
'foreignKey' => 'user_id',
'associationForeignKey' => 'genre_id',
'unique' => 'keepExisting',
),
);
}
流派型号:
class Genre extends AppModel {
public $primaryKey = 'id';
}