так, это странно, у меня есть этот метод, называемый treetrunk, который запускает родительское дочернее отношение и должен возвращать массив, если ids как «branchPath» - метод кажется чтобы работать просто отлично, так как var_dump в моем завершающем состоянии показывает правильный массив. Однако, если я пытаюсь вызвать метод возвращаемого массива является "NULL" - я действительно не понимаю ..php codeigniter - var_dump показывает массив, но возвращает null
методМодели:
function treeTrunk($id){//1st id in is page id
if($id == '0'){
var_dump($this->branchPath); //this shows perfect array
return $this->branchPath; //this returns null
}
else{
$q = $this->getWhere(array('id'=>$id),null,null);
array_push($this->branchPath, $q[0]['pageParent']);
$this->treeTrunk($q[0]['pageParent']);
}
}
Вызов с помощью контроллера:
$d = $this->pages_mdl->treeTrunk('150');
var_dump($d); // <- this == NULL
var_dump от (3) «148» [1] => строка (3) «146» [2] => строка (1) «0»} «
Разве это не просто возвращает нуль, потому что вы посылаете в «150», а если оператор ищет «0»? Таким образом, ничего не возвращается. Что делает остальная часть, называть себя рекурсивно? Получает ли что-нибудь что-нибудь возвращенное? – StickMaNX