我想遍历数据库字段,直到找到所有孩子的母亲。当我回复$page->id
函数中的findMother()
(而不是返回它)时,它会给我正确的page id
,但它不会将其返回到第二个函数。
private function findMother($id) {
$page = Page::find($id);
if($page->parent_id != 0 || $page->parent_id != null) {
$this->findMother($page->parent_id);
} else {
// if I echo the $page->id here it shows me the correct mother page id
return $page->id;
}
}
private function loadSubPages($api) {
$page = Page::where('api', $api)->first();
$mother = $this->findMother($page->id);
die('mother: ' . $mother); // $mother is empty
}
有人知道我在这里缺少什么吗?
答案 0 :(得分:1)
您应该返回函数调用的结果:
DO
return $this->findMother($page->parent_id);
而不是
$this->findMother($page->parent_id);
这样您将返回结果
答案 1 :(得分:0)
感谢jiboulex我解决了以下变化:
private function findMother($id) {
$page = Page::find($id);
$return = $page->id;
if($page->parent_id != 0 || $page->parent_id != null) {
return $this->findMother($page->parent_id);
} else {
return $return;
}
}