2011-11-20 74 views

回答

0

假设我正确理解你的问题,你想使用optgroup标签?

我不确定是否有一个automagical方式做这个时只使用belongsTo关系。下面的解决方案是有点难看,但你想要做什么:

控制器:

/** 
* Get all categories and subcategories and declare selectBox array 
*/ 
$categories = $this->Subcategory->Category->find('all'); 
$selectBox = array();  

/** 
* Iterate over categories & subcategories creating a formatted 
* array that works with Form->input() to create a select box with 'optgroups' 
*/ 
foreach ($categories as $category) { 
    foreach ($category['Subcategory'] as $subcategory) {   
    $selectBox[$category['Category']['title']][$subcategory['id']] = $subcategory['title'];   
    } 
} 

$this->set('selectBox', $selectBox);  

查看:

<?php echo $this->Form->input('subcategory_id', array('options' => $selectBox)); ?> 
相关问题