1

私はCakePHPを利用したWebサイトを構築しています.CakePHPは、ユーザーがお互いを参照できるWebサイトを構築しています.「所有者と所属者」の関係について考えていました.それとも別の協会/道路の方がいいですか?前もって感謝します!

4

1 に答える 1

0

ユーザーが多くを参照できるが、1人だけが参照できると仮定するのが正しい場合は、次のようなもので十分です。

//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 に答える