When i set nesting level more than 415 it gives error page is not working and set it by 400 then give error Maximum function nesting level of '415' reached, aborting!
function actionIndex(){
$limit = 1000;
ini_set('xdebug.max_nesting_level', $limit);
$queryTopics = "SELECT tr.id,tr.`parent_id`, tr.`child_id`, tr.`order_by`, tr.`level`, tr.`child_id` AS `tid`, t.`name`,t.`seo_name`
FROM `topic_relations` tr
LEFT JOIN `topics` t ON tr.`child_id` = t.`id`
WHERE t.`status` = 1";
$topicss = \Yii::$app->db->createCommand($queryTopics)->queryAll();
$topics = array();
foreach ($topicss as $key => $value) {
$parentIdCombination = $this->findAllParent($value['id']);
$combination = array_reverse($parentIdCombination);
$combinations = implode($combination, ' ');
$topics['parent_combination'] = $combinations;
unset($combination);
$topics[] = $value;
}
$data['topicsParentChildArr'] = $this->buildTopicsTree($topics);
echo '<pre>';
print_r($topics);
return $this->render('index',['data'=>$data]);
}
this function call recursively
function findAllParent($id) {
global $combination;
$parentTopicQuery = "SELECT * FROM `topic_relations` where id=".$id;
$topic_row = \Yii::$app->db->createCommand($parentTopicQuery)->queryOne();
if($topic_row['level']>0) {
$combination[] = $topic_row['child_id'];
$parentTopicQuery1 = "SELECT * FROM `topic_relations` where child_id=".$topic_row['parent_id'];
$topic_row1 = \Yii::$app->db->createCommand($parentTopicQuery)->queryOne();
$this->findAllParent($topic_row1['id']);
}else {
$combination[] = $topic_row['child_id'];
}
//var_dump($combination);
return $combination;
}