CakePHP:用户推荐系统,如何关联?

CakePHP:用户推荐系统,如何关联?,cakephp,referrer,Cakephp,Referrer,我正在建立一个基于CakePHP的网站,用户可以相互推荐,我考虑的是一种“拥有并属于许多人”的关系(一个用户可以有多个推荐,但只能由一个推荐) 这是一条正确的路还是另一条路更好? 提前谢谢 如果我正确地假设一个用户可以引用多个,但可能只被一个引用,那么像这样的内容应该足以满足您的需要: //User model $belongsTo = array( 'Referrer' => array( 'className' => 'User', 'fo

我正在建立一个基于CakePHP的网站,用户可以相互推荐,我考虑的是一种“拥有并属于许多人”的关系(一个用户可以有多个推荐,但只能由一个推荐) 这是一条正确的路还是另一条路更好?
提前谢谢

如果我正确地假设一个用户可以引用多个,但可能只被一个引用,那么像这样的内容应该足以满足您的需要:

//User model
$belongsTo = array(
    'Referrer' => array(
        'className' => 'User',
        'foreignKey' = > 'referrer_id'
    )
);
$hasMany = array(
    'Referree' => array(
        'className' => 'User',
        'foreignKey' => 'referrer_id'  
    )
);
有关的详细信息

有关如何检索数据的示例:

//User model
public $actsAs = array('Containable');
public $recursive = -1; //better to set in AppModel IMO

public function getUser($userId = null) {
    if(empty($userId)) return false;
    return $this->find('first', array(
        'conditions' => array(
            $this->alias . '.' . $this->primaryKey => $userId
        ),
        'contain' => array(
            'Referrer',
            'Referee'
        )
    ));
}

您的数据库结构是什么?您需要指定更多详细信息。我会按照您的建议说是HasandBelongToMany,如果您说一个用户可以引用多个,但只能由另一个用户引用,则会说是BelongTo(多对一)。不过我不太明白这个问题。