この構造のデータベーステーブルがあります
id title parent_id is_parent
parent_id は親の ID であり、is_parent をブール値として追加して、親である要素を表示しました。
このデータベースからツリービューを抽出し、ドロップダウン リストに表示したいと考えています。これが私が探しているものです:
level1
level2
child1
child2
level2_2
child1
child2
level1_2
...
今のところ、モデルに次のように 2 つのレベル (親と子) しかない場合にこれを行うことができます。
public function relations()
{
return array(
'getparent' => array(self::BELONGS_TO, 'Region', 'parent_id'),
'childs' => array(self::HAS_MANY, 'Region', 'parent_id', 'order' => 'title ASC'),
);
}
そしてビューで:
<?php echo $form->dropDownListRow($model,'region',CHtml::listData(Region::model()->findAll('is_parent=0'),'id', 'title','getparent.title'),array('prompt'=>'Choose')); ?>
モデルの関係を変更する方法や、listData 構造を変更する方法がわかりません。