Я хочу написать рекурсивную функцию в joomla, которая получает все категории дочернего уровня с использованием идентификатора категории, используя объект db joomla's jmodel. Следующий код, который я написал:
function getChildCategories($type){
$query = "SELECT id FROM #__cd_categories WHERE parent_id='$type'";
echo $query."<br/>";
$this->_db->setQuery($query);
$list = $this->_db->loadObjectList();
if ($this->_db->getErrorNum()) { echo $this->_db->stderr(); return false; }
foreach($list as $record){
$this->childCategories[]= $record->id;
echo $record->id."<br/>";
return $this->getChildCategories($record->id);
}
return true;
}
Итак, проблема в том, что в joomla мы используем метод $ this -> _ db_setQuery и метод $ this -> _ db-> loadObjectList, поэтому при рекурсивном вызове набор результатов, я думаю, перезаписывается, я думаю, потому что объект такой же , Так кто-нибудь может сказать, как, как преодолеть эту проблему? Если вы можете решить эту проблему с помощью цикла, это также будет очень полезно для меня.
Я также думаю, что если значения присвоены переменной $ list, то перезапись не должна быть проблемой. Так что странно. Скажите, пожалуйста, кто-нибудь может подсказать мне, как это сделать?
спасибо заранее