CakePHP在选择框中显示子类别的父类别

时间:2011-11-20 03:34:11

标签: php cakephp

我正试图在Cake的选择框中的第一个子类别实例的顶部显示Category。

子类别属于类别和类别具有多个子类别。我们有办法做到这一点吗?

我已在选择框中尝试过showParents => true。

1 个答案:

答案 0 :(得分:0)

假设我正确理解您的问题,您是否想要使用optgroup代码?

在使用 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)); ?>