phpcake HABTM用户有很多朋友,表命名约定

phpcake HABTM用户有很多朋友,表命名约定,php,cakephp,naming,has-and-belongs-to-many,convention,Php,Cakephp,Naming,Has And Belongs To Many,Convention,我在为一个社交网络风格的网站建模,在这个网站上,人们可以在他们的联系人列表上有其他人,我想将这种关系建模为同一个表用户上的HABTM关系,但根据我的说法,我必须给出如下创建表: CREATE TABLE IF NOT EXISTS `users_users` ( `users_users.id` int(11) NOT NULL AUTO_INCREMENT, `users_users.user_id` int(11) NOT NULL , `users_users.us

我在为一个社交网络风格的网站建模,在这个网站上,人们可以在他们的联系人列表上有其他人,我想将这种关系建模为同一个表用户上的HABTM关系,但根据我的说法,我必须给出如下创建表:

CREATE TABLE IF NOT EXISTS `users_users` (
  `users_users.id` int(11) NOT NULL AUTO_INCREMENT,
    `users_users.user_id` int(11) NOT NULL ,
      `users_users.user_id` int(11) NOT NULL ,
  PRIMARY KEY (`users_users.id`)

) ENGINE=InnoDB  DEFAULT CHARSET=latin1 AUTO_INCREMENT=9

请帮助,如何避免重复?

对于引用同一表的HABTM关系,您需要更改外键的名称。定义
users\u users
,包括三个字段:
id
user\u id
friend\u id

在用户模型中,设置关系,分配显式foreignKey和associationForeignKey:

var $hasAndBelongsToMany = array(
    'Friend' => array(
        'joinTable' => 'users_users',
        'className' => 'User',
        'foreignKey' => 'user_id',
        'associationForeignKey' => 'friend_id'
    )
);