다소 복잡한 문제가 발생하여 도움이되는 트리 비헤이비어가 필요합니다.CakePHP 트리 동작, 테이블 당 여러 트리
이 테이블에는 이미 nodes
이라는 테이블이 있으며이 트리는 메뉴를 작성하는 데 사용됩니다.
지금 우리는 node_menus
과 menus
테이블을 만들도록 다중 메뉴를 만들 수있게하려고합니다. 그래서 Nodes hasAndBelongsToMany Menus
그러나 약간의 문제가 있지만 메뉴가 내장되어 있지만 $this->Node->find('threaded')
을 사용하므로 하위 메뉴가 가능합니다. 모든 노드는 여러 메뉴에서 사용할 수 있으며 모든 메뉴에는 트리가 있어야 노드를 정렬하고 하위 메뉴를 만들 수 있습니다.
나는 각 메뉴에 대한 트리가 포함 된 테이블 하나를 만들고 트리 테이블의 각 행에 노드를 연결하려고합니다.
기본적으로 Trees belongsTo Nodes
관계가있는 trees
테이블이 필요합니다. 이 나무에서 나는 필드가 menu_id
, node_id
, parent_id
, lft
및 rght
입니다.
이제 한 테이블에서 여러 개의 트리가 가능합니까? 말해, 나는 나무가 menu_id
인 곳에 원한다. find('threaded')
을 사용하여 node_id
과 관련된 모든 데이터와 노드를 반환 할 수있는 ID를 사용할 수 있습니까? 트리를 만들고 조작하기위한 다른 모든 핵심 기능을 포함합니다.
이것이 가능합니까? 그렇지 않은 경우 누구나 여러 개의 메뉴를 만들 수있는 방법에 대한 더 나은 솔루션을 제공합니까? 노드는 여러 메뉴로 정렬되어 스레드 될 수 있습니다.
를 좋아하는 경우에 당신이 그것을 사용할 수 있습니다, CakePHP를위한 메뉴 빌더 플러그인을 만들었어요! 나는 왜 내가 항상 더 복잡하다고 생각하는지 모르겠다. 그래서 메뉴 테이블에서 이것을 할 수 있고, 노드를 메뉴 항목과 연관시킬 수 있으며, 자식을 찾아 나무를 검색 할 수 있습니다. 또한 이렇게하면 관리하기가 훨씬 쉬워집니다. 나는 그것을 시도 할 것이다! –