2014-03-07 40 views
0

如何選擇父類別中選擇框在admin_edit.ctp如何選擇父類別中選擇框在admin_edit.ctp

分類表stuture

ID Name ParentID 
1 Parent1 0 
2 Parent2 0 
3 Child1 1 
4 Child2 1 
5 Child3 2 
6 Child4 1 

Category.php(模型)

var $belongsTo = array(
     'ParentGroup' => 
      array('className' => 'Category', 
        'foreignKey' => 'parent_id' 
     ), 
    ); 


    var $hasMany = array( 
    'ChildGroup' => 
      array('className' => 'Category', 
        'foreignKey' => 'parent_id' 
      ), 
    ); 

admin_edit.ctp

<?php echo $this->Form->create('Category'); ?> 
<?php echo $this->Form->input("id" ,array('type' => 'hidden', 'label' => false,'div' => false))?> 
<?php echo $this->Form->input("parent_id" ,array('label' => false,'div' => false,'class'=>"text-field"))?> 
<?php echo $this->Form->input("category" ,array('label' => false,'div' => false,'class'=>"text-field"))?> 
<?php echo $this->Form->end('edit'); ?> 

在PARENT_ID選擇框中顯示指出數據

回答

0
//Controller 
$categories = $this->Category->find('list', array('conditions'=>array(all your conditions))); 
$this->set('categories', $categories); 

//View  
$this->Form->input('category_id'); 
//you can set the type if it doen't work 
$this->Form->input('category_id', array('type'=>'')); 

Form Helper

你把兩家母公司的關聯,兒童爲一體的模式,

是belongs_to的必須是子裏面型號

親代模型和has_many應該進入父代

//Category Model 
    var $belongsTo = array(
      'ChildGroup' => 
       array('className' => 'ChildGroup', 
         'foreignKey' => 'parent_id' 
      ), 
     ); 

//Child Model  
     var $hasMany = array( 
     'ParentGroup' => 
       array('className' => 'ParentGroup', 
         'foreignKey' => 'parent_id' 
       ), 
     ); 

閱讀這篇文章的模型關聯http://book.cakephp.org/2.0/en/models.html和usetable如果要是從型號名稱http://book.cakephp.org/2.0/en/models.html

+0

但如何對不同的選擇父類的對應子類的表名? –

+0

你可以包含行爲|條件是否你的模型是正確關聯的 – Fury

+0

但我錯誤錯誤:模型ChildGroup的表child_groups在數據源中未找到默認 –