1
我正在構建一個CakePHP驅動的網站,用戶可以互相引用,我正在考慮一個「有和屬於很多」的關係(用戶可以有多個引薦,但只能由一個引用) 是這個正確的方式,還是更好的與另一個協會/道路? 在此先感謝!CakePHP:用戶推薦系統,如何關聯?
我正在構建一個CakePHP驅動的網站,用戶可以互相引用,我正在考慮一個「有和屬於很多」的關係(用戶可以有多個引薦,但只能由一個引用) 是這個正確的方式,還是更好的與另一個協會/道路? 在此先感謝!CakePHP:用戶推薦系統,如何關聯?
如果我的假設,用戶可以參考很多正確的,但只能由一個被稱爲,那麼這樣的事情應該足夠你在做什麼:約Multiple relations to the same model
//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'
)
));
}
什麼是你的數據庫結構? –
你需要指定一些更多的細節。如果你說一個用戶可以引用很多,但只能由另一個用戶引用,我會說你hasAndBelongsToMany,或者belongsTo(多對一)。雖然我不太理解這個問題。 – Qben