php – Yii在数据库的dropdownlist中显示treeview

我将类别和子类别保存在数据库中.我想在这样的CHtml下拉列表中显示它们:

Patrent_cat
   sub_cat1
   sub_cat2
Parent_cat2
  ...

我的类别表是这样的

id name parent_id

如果元组是父本身,则parent_id为0

我已经在我的分类模型中尝试了这个:

public function relations()
{
    return array(
                'getparent' => array(self::BELONGS_TO, 'Category', 'parent_id'),
                'childs' => array(self::HAS_MANY, 'Category', 'parent_id', 'order' => 'id ASC'),
    );
}

public function getCategoryTree() 
    {
        $subitems = array();
        if($this->childs) foreach($this->childs as $child) 
        {
            $subitems[] = $child->getListed();
        }
        $returnarray = array($this->id => $this->title);
        if($subitems != array()) 
            $returnarray = array_merge($returnarray, array('items' => $subitems));
        return $returnarray;
    }

在我看来:

<?php 
         echo CHtml::dropDownList('category', 'id', 
                        Category::model()->CategoryTree,
                        array('empty' => '(Select a category'));
?>

但它给了我一个空的下拉列表.如何在带有选项组的下拉列表中显示此树视图? (选项组是父类别,选项是sub_categories.

解决方法:

试试这个

echo $form->dropDownList($model,'id',CHtml::listData(SubCat::model()->findAll(),'id', 'name','relation_name.name'),array('prompt'=>'Choose'));

这将在下拉列表中显示父母和子类别

上一篇:TreeView查找


下一篇:WinForm控件之【TreeView】