0

CakePHP を使用して、次の SQL データベースを持ついくつかのカテゴリを持つ Web アプリケーションを管理しています。コントローラーとクラス名を含めました。基本的に、カテゴリの「通常の」機能と考えるもの以外は必要ありません。

ツリー構造には、オプションの他のカテゴリであるparent_idsがあります(たとえば、トップレベルのカテゴリの場合)。

足場は正しく適用されており、/admin/categories に移動すると、心ゆくまで CRUD できますが、作成される「親」ドロップダウンは空白です。

私は何か間違ったことをしていますか、それとも足場には複雑すぎますか?

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'); 
4

1 に答える 1

0

parentCategory ID との関連付けを追加するのを忘れていると思います。

var $belongsTo = array
(
    'ChildRecored' => array
    (
        'className' => 'Category',
        'foreignKey' => 'parent_id',
        'conditions' => '',
        'fields' => '',
        'order' => ''
    )
);
于 2013-01-24T08:35:02.897 に答える