현재 모델에서 이진 트리 구조를 만들어야하는 프로젝트에서 작업 중입니다. 그것은 "사람이 2 명의 친구를 가질 수있는 것과 비슷합니다. 그 2 명의 친구도 모두 사람입니다. 그래서 그들은 또한 각각 2 명의 친구를 가질 수 있습니다." 마지막으로 깊이 우선 노드 검색을 수행해야합니다.CakePHP 모델에서의 노드 노드와 같은 동작
내가 4 단계까지 깊이 검색을 수행하려면, 나는 또한 수준의 예를 들어, 완료되지 않은 경우 알고 싶어
person(root)
person(branch A) person(branch B)
person person person person
person person person person (no children) (only 1 child)person
당신이 볼 수 있듯이, 지점은입니다 최대 4 단계를 완료하십시오. 하지만 지점 B은 그렇지 않습니다. 나는 반복 알고리즘을 누락
$person = $this->Person->find('first', $conditions);
if(empty($person['Person']['friend_1']))
$uncomplete = true;
:
나는 완료되고 어느 쪽이 아닌 것은 무엇인가처럼 array
에 empty()
기능을 사용하여 확인하는 것입니다 분기를 알 수있는 방법을 추측하고있어 여기 노드를 통해,하지만 내가 정말로 필요로하는 것은 hasOne
/belongsTo
의 4 개의 깊이를 검색하는 방법 (어느 것이 어느 것이지 확실하지 않음)은 Model::recursive = 4
입니까?
어떤 제안이 우리가하지 않아도, 감사
케이크에