Всем привет! Столкнулся тут с маленькой проблемой. Или не очень маленькой. В общем, есть дерево категорий и нужно дойти до главной и получить ее название. Для этого написал небольшую функцию, которая вызывает рекурсивно себя пока не доходит до корня. Однако проблема в том, что return у нее теряется и она не возвращает в исходную функцию вывод данных. Срабатывает по echo (показывает, что правильно функция работает), но теперь не сохраняется это в исходной функции. Просто пустое поле. Как правильно вернуть данные в исходную функцию?
public function getRootCategory($id) {
$query = Category::find()
->select(['id',
'name',
'parent_id'])
->andWhere(['in', 'id', $id]);
$data = $query->asArray()->all();
if ($data[0]['parent_id'] > 0) {
$this->getRootCategory($data[0]['parent_id']);
}
else {
return (?) $data[0]['name'];
}
}