php codeigniter - var_dump shows array but return is null -
so, weird, have method called treetrunk runs parent child relationship , supposed return array if ids "branchpath" - method seems working fine var_dump in terminating condition shows proper array. if try call method returned array "null" - dont it..
model method:
function treetrunk($id){//1st id in 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']); } } calling via controller:
$d = $this->pages_mdl->treetrunk('150'); var_dump($d); // <- == null var_dump within method outputs "array(3) { [0]=> string(3) "148" [1]=> string(3) "146" [2]=> string(1) "0" } "
you not returning in else part.
else{ $q = $this->getwhere(array('id'=>$id),null,null); array_push($this->branchpath, $q[0]['pageparent']); $this->treetrunk($q[0]['pageparent']); } should be
else{ $q = $this->getwhere(array('id'=>$id),null,null); array_push($this->branchpath, $q[0]['pageparent']); return $this->treetrunk($q[0]['pageparent']); } as posted in question passing 150 treetrunk() function, goes else part , gives null result. if part evaluate when pass 0 treetrunk() function.
Comments
Post a Comment