Dim*_*ets 2 php recursion hierarchy yii
我有一个具有以下结构的表:
类别
我想获得具有单一功能的类别树.我在我的模型中写过这样的东西,但它不起作用.
public function getChildren($parent) {
$criteria = new CDbCriteria;
$criteria->condition='parent_id=:id';
$criteria->params=array(':id'=>$parent);
$model = Term::model()->findAll($criteria);
while ($model) {
echo $model->id . "<br />";
$this->getChildren;
}
}
Run Code Online (Sandbox Code Playgroud)
有人可以帮我弄这个吗?谢谢.
我终于解决了这个问题.如果有人感兴趣,这是代码:
public function getChildren($parent, $level=0) {
$criteria = new CDbCriteria;
$criteria->condition='parent_id=:id';
$criteria->params=array(':id'=>$parent);
$model = $this->findAll($criteria);
foreach ($model as $key) {
echo str_repeat(' — ', $level) . $key->name . "<br />";
$this->getChildren($key->id, $level+1);
}
}
public function getChildrenString($parent) {
$criteria = new CDbCriteria;
$criteria->condition='parent_id=:id';
$criteria->params=array(':id'=>$parent);
$model = $this->findAll($criteria);
foreach ($model as $key) {
$storage .= $key->id . ",";
$storage .= $this->getChildrenString($key->id);
}
return $storage;
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
6420 次 |
| 最近记录: |