我正在构建一个由 CakePHP 支持的网站,用户可以在其中相互引用,我在考虑“拥有并属于多个”关系(一个用户可以有多个推荐,但只能被一个推荐)这是正确的方式还是与另一个协会/道路更好?提前致谢!
问问题
355 次
1 回答
0
如果我假设一个用户可以推荐很多人,但只能被一个人推荐是正确的,那么这样的事情应该足以满足您的工作:
//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'
)
));
}
于 2012-11-09T14:56:40.440 回答