我有控制器:Laravel,方法[...]不存在
class Comments extends Controller
{
public function GenerateComments($id)
{
$theme = DB::table('New_Themes')
->where('id', $id)
->get();
$Comments = NewTheme_Comment::where('id_theme', $id)->get();
$array = $this->tree($Comments);
function tree($Comments, $parent_id = 0, $level=0, $c=0)
{
global $var;
global $array;
global $m;
foreach($Comments as $Comment)
{
if ($Comment['parent_id'] == $parent_id) {
$m++;
$array[$m][0]=$Comment['id'];
If ($level > $var) {$var++; $array[$m][1]=0;} else {
if ($c < 0) $array[$m][1]=$var-$level+1; else {$c--; $array[$m][1]=0;};
$var=$level;
};
tree($Comments, $Comment['id'], $level+1,$c);
}
};
return $this->$array;
};
return view('comments', ['Themes'=> $theme, 'Comments'=> $Comments, 'Array' => $array]);
}
問題是
方法[樹]不存在。
,但我不明白爲什麼它的出現,如果我是一個函數內調用函數(如低於)
$array = $this->tree($Comments);
function tree($Comments, $parent_id = 0, $level=0, $c=0)
{
return $this->$array;
}
是否有任何想法,爲什麼這是不工作?
我敢打賭'tree'不是一個方法 - '$ this'類的方法。這是一個功能 - 匿名功能。 – Chay22
那麼我該怎麼做,我試過這兩個:$ array = $ this-> tree($ Comments);和$ array = tree($ Comments); – DomainFlag
是一個匿名函數類,第一次我使用這種東西 – DomainFlag