1
간단한 응용 프로그램에 몇 가지 연구를 통해 친구 기능을 추가해야하는데 사용자 테이블에 다시 연결되는 조인 테이블이 필요합니까? 이런 일이 :CakePHP에 친구 찾기 기능 추가
사용자 - 우정 - 사용자
(I 이미 사용자 테이블이)
사람이에 대한 자세한 내용을 주실 수 있습니까?
간단한 응용 프로그램에 몇 가지 연구를 통해 친구 기능을 추가해야하는데 사용자 테이블에 다시 연결되는 조인 테이블이 필요합니까? 이런 일이 :CakePHP에 친구 찾기 기능 추가
사용자 - 우정 - 사용자
(I 이미 사용자 테이블이)
사람이에 대한 자세한 내용을 주실 수 있습니까?
우정 테이블은 다음과 같은 열이 있어야합니다
id Integer
user_from (the user who requested friendship)
user_to (the user who accepted friendship)
created (optional to track when your friendship started)
는 그런 다음 적절한 모델 관계를 만들어야합니다.
class User extends AppModel {
...
var $hasMany = array(
'UserFrom'=>array(
'className'=>'Friendship',
'foreignKey'=>'user_from'
),
'UserTo'=>array(
'className'=>'Friendship',
'foreignKey'=>'user_to'
)
);
var $hasAndBelongsToMany = array(
'Friendship' => array(
'className' => 'User',
'joinTable' => 'friendships',
'foreignKey' => 'user_from',
'associationForeignKey' => 'user_to'
);
...
}
class Friendship extends AppModel {
...
var $belongsTo = array(
'UserFrom'=>array(
'className'=>'User',
'foreignKey'=>'user_from'
),
'UserTo'=>array(
'className'=>'User',
'foreignKey'=>'user_to'
)
)
...
}
이렇게하면 각 모델에 2 개의 관계가 정의됩니다. HABTM 관계도 추가 할 수 있습니다. 컨트롤러와 뷰를 빌드하기 위해 bake 스크립트를 실행하십시오. 그런 다음 코드에서 다음과 같이 사용할 수 있습니다.
$this->User->UserFrom->find('all',
array(
'conditions'=>array('user_from'=>1),
'contain'=>array('UserTo')
)
);
ID 1 인 사용자 및 모든 친구 세부 정보를 반환해야합니다.
재귀 쿼리에주의하십시오. :)
그래, 많이 좋아 보인다. 지금 시도해보기. 고마워. – woel
HABTM 관계에 대한 안녕하세요 닉, HABTM을 사용해야합니까? 그렇다면 위에서 쓴 모델 관계에 어떤 영향을 미칠까요? 나는 아직도 약간 혼란 스럽다. 그리고 빵 굽기를 위해, 나는 우정을 굽고있을거야? 위에 쓴 마지막 코드를 어디에서 알아야합니까? 덕분에 .. – woel
내가 관계 모델에서 joinTable을 사용해서는 안되나요? – woel