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

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

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,'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,CHtml::listData(SubCat::model()->findAll(),'name','relation_name.name'),array('prompt'=>'Choose'));

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

相关文章

统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...
统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...
前言 之前做了微信登录,所以总结一下微信授权登录并获取用户...
FastAdmin是我第一个接触的后台管理系统框架。FastAdmin是一...
之前公司需要一个内部的通讯软件,就叫我做一个。通讯软件嘛...
统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...