2013-01-24 4 views
0

다음 SQL 데이터베이스가있는 일부 카테고리가있는 웹 응용 프로그램을 관리하려면 CakePHP를 사용하고 있습니다. 컨트롤러와 클래스 이름을 포함 시켰습니다. 기본적으로 범주에 대한 "정상적인"기능을 고려해야하는 것 이외의 다른 것에 대한 필요는 없습니다. CRUD를CakePHP 2.2 카테고리 나무 비계 - 부모 표시 안 함

트리 구조는

. parent_ids 예를 들어, 최상위 범주 (옵션 다른 범주되고있다 스캐 폴딩이 제대로 적용되고, 나는/관리자/카테고리에 가면, 내가 할 수있는 내 마음의 콘텐츠에 그들 만이 만드는 "부모"드롭 다운 비어 있습니다.

나는 발판이 너무 복잡 뭔가 잘못하고, 또는이다 있습니까?

CREATE TABLE `ck_categories` (
    `id` INT(11) NOT NULL AUTO_INCREMENT, 
    `parent_id` INT(11) NULL DEFAULT NULL, 
    `name` VARCHAR(150) NOT NULL COLLATE 'latin1_general_ci', 
    `lft` INT(11) NOT NULL, 
    `rght` INT(11) NOT NULL, 
    PRIMARY KEY (`id`) 
) 

class CategoriesController extends AppController { 
    public $scaffold = 'admin'; 


     public function index() { 
      $data = $this->Category->generateTreeList(null, null, null, '   '); 
      debug($data); die; 
     } 
} 

class Category extends AppModel { 
    var $name = 'Category'; 
    var $displayField = 'name'; 

      public $hasMany = 'Product'; 
      var $actsAs = array('Tree'); 

답변

0

난 당신이 잊지 생각 parentCategory ID와의 연관성을 추가하십시오.

var $belongsTo = array 
(
    'ChildRecored' => array 
    (
     'className' => 'Category', 
     'foreignKey' => 'parent_id', 
     'conditions' => '', 
     'fields' => '', 
     'order' => '' 
    ) 
);
+0

대단히 감사합니다. 이것은 도움이되었지만 상위 카테고리처럼 카테고리를 선택하지 못하게합니다. 이것은 스캐 폴딩을 사용하여 가능합니까? –

+0

hummmm 나는 당신이 바인딩을보고 모델을 언 바인드해야한다고 생각합니다 ... 도움이 될 것입니다 ... –